吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4319|回复: 15
收起左侧

[Python 转载] 使用python实现简单爬虫

[复制链接]
ProgramerFangL 发表于 2017-11-13 17:40
因为工作上对于数据的需要,所以这段时间一直在学习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代码。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
523740194 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ProgramerFangL 发表于 2017-11-14 16:55
lm742611149 发表于 2017-11-14 16:26
我就没看过纯py,直接就用scrapy了
简单省事。

我在写scrapy代码前喜欢先用python写一个测试,跑通了逻辑直接套用scrapy就可以了,可以省下很多在scrapy中的调试
 楼主| ProgramerFangL 发表于 2017-11-13 20:47 来自手机
wind8961 发表于 2017-11-13 19:41
不错,结合工作进行开发,进步最快了,比单纯的学习学的快多了

确实如此,实际上手实战会发现许多学习中忽略或者没注意到的问题
安卓iphone 发表于 2017-11-13 17:43
SeamanZL 发表于 2017-11-13 17:55
感谢分享,学习学习!!!
 楼主| ProgramerFangL 发表于 2017-11-13 18:05
各位大神看完帖子,免费的评分来一点呗,哈哈哈哈
lm742611149 发表于 2017-11-13 18:34
你写的和我写的不太一样。
1.png
今朝有酒须纵歌 发表于 2017-11-13 18:34 来自手机
哈哈,看不懂
吾爱豆腐渣 发表于 2017-11-13 19:30
给大牛顶帖
wind8961 发表于 2017-11-13 19:41
不错,结合工作进行开发,进步最快了,比单纯的学习学的快多了
 楼主| ProgramerFangL 发表于 2017-11-13 20:46 来自手机
lm742611149 发表于 2017-11-13 18:34
你写的和我写的不太一样。

你这个是用的scrapy框架,我是单纯的py写的,肯定会有不一样啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 09:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表