使用python实现简单爬虫

本文介绍了一个简单的Python爬虫实现过程,通过使用urllib2、lxml等库抓取指定网站的内容,并解析页面获取文章链接、标题、正文及发布时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为工作上对于数据的需要,所以这段时间一直在学习python和scrapy框架,下面贴上一个简单的python代码爬虫,可能代码风格有点low,见谅。
#-*-coding:utf-8-*-
import codecs
import urllib
import urllib2
import re
import json
import time
from lxml import etree

import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
        reload(sys)
        sys.setdefaultencoding(defaultencoding)
rooturl='http://pccz.court.gov.cn/pcajxxw/pcgg/gglb'

fakeHeaders= {'User-Agent':'Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6'}
#解析页面的方法,传入需要解析的页码,返回页面内容
def postHtmlContent(pageNum):
        #因为页码为1时和其他页码访问的页面链接不同,所以添加了一个简单的判断
        if pageNum == 1:
                rooturl ='http://pccz.court.gov.cn/pcajxxw/pcgg/ggindex'
        else:
                rooturl ='http://pccz.court.gov.cn/pcajxxw/pcgg/gglb'
        #页面需要使用post请求
        req = urllib2.Request(rooturl.encode('utf8'),urllib.urlencode({"lx":"1","pageNum":pageNum}))
        time.sleep(1)
        htmlContent = urllib2.urlopen(req,timeout=5).read()
        return htmlContent
rooturl1 = rooturl[0:rooturl.rfind("/")-4]
print rooturl1
htmlContent = postHtmlContent(5)
tree=etree.HTML(htmlContent)

wenzhangURLs=tree.xpath(u"//ul[ @Class  = 'fd-notice-data']/li/a/@href")
#打印出当前页面每个文章的链接
print wenzhangURLs

for wenzhangURL in wenzhangURLs:

        pageurl = rooturl1+wenzhangURL.lstrip()
        print "pageurl------->"+pageurl
        page = urllib2.urlopen(pageurl,timeout=5).read()
        time.sleep(2)
        tree=etree.HTML(page)
        title = tree.xpath(u"//h1[@class ='fd-content-title']/text()")
        content = tree.xpath(u"//span/text()")
        subtime = tree.xpath(u"//p[@class = 'fd-content-subtitle']/text()")

        title = ''.join(title).strip()
        content = ''.join(content).strip()
        subtime = ''.join(subtime).strip()
        pt = str(subtime).split()
        # print page
#分别打印文章标题,内容,以及时间
        print title
        print content
        print pt[1]
这只是一个在编写scrapy爬虫前的测试代码,因为时间有限,后续还将会继续放上这个的scrapy代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值