Python 爬虫初探

直接上代码了,确实很方便,看起来很清晰。

# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
import requests
import time  #设置延时用的模块
import json
#需要爬的网址,%s简单点说就是替换页码的意思,用生成器生成一个庞大的网页地址然后循环找想要的内容
url = 'http://xx.xx.xx.xx/serviceweb/n820642/n820647/0_index_916461_%s.html' 
urls = (url %i for i in range(1,3))  #生成器确实很方便,有一个for循环就可以使用了
allurls = list(urls)

headers = {'Connection':'keep-alive',
'Cache-Control':'max-age=0',
'Upgrade-Insecure-Requests':'1',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4337.400 QQBrowser/9.7.12672.400',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8'}

'''
Cookie 的返回对象为 RequestsCookieJar,它的行为和字典类似,
但界面更为完整,适合跨域名跨路径使用。你还可以把 Cookie Jar 
传到 Requests 中
可以使用r.cookies先得到如下
<RequestsCookieJar[<Cookie JSESSIONID=
xTWJhy5CmPS91LgfLv2bmzflnX1j0K5jPD3sl8D0pCmTGhq2mrxg!
-1500843153 
for 130.9.1.168/>]>

jar = requests.cookies.RequestsCookieJar()
jar.set('Cookie JSESSIONID', \
        '9W0phy4fh91PXQS16gW8ssBySGvlb2f7R7KdjG29S5kpYPj9x6cN!',\
        domain='130.9.1.168', path='/1500843153')
'''

cookies = {'Cookie':'yfx_c_g_u_id_10000072=_ck18030209325113273337711116613;\
       JSESSIONID=qnNWhyxPx9Qc1tWW1ytsTX4JdQJnb5K1KyyhpJwhZJtMMn9JwGN6!\
       -1500843153; \
       yfx_f_l_v_t_10000072=f_t_1519954371297__r_t_1520990178788__v_t_1520990178788__r_c_3'}


for i in allurls:
    time.sleep(3)
    r = requests.get(str(i),headers=headers,cookies=cookies)
    r.encoding == 'utf-8' #解决乱码的问题
    
    soup = BeautifulSoup(r.text,"lxml") #转化成LXML格式
    #找到子节点的值,注意.的用法和string
    titles = soup.select('span.black14')  #各种例子说明用select比find更好一些
    dates = soup.select('span.grey14_26')  #经过尝试,对于取CSS定义很少的,可以尝试find加正则,之后会上另一个例子
    
    for i,j in zip(titles,dates):  #遍历并创建一个字典
        data = {
                'date':j.string,
                'title':i.string
                }
        print(data)
        

        with open('data.json','a') as f:  #保存为json文件 参数‘a’为追加写入的意思
            json.dump(data,f,ensure_ascii=False)  #ensure_ascii=False解决了乱码的文体

 

爬下来的数据保存为json,方便以后写入数据库,当然也可直接将数据写入数据库。

{"date": "2006-10-19 ", "title": "国家税务总局有关方面负责人就涉农税收优惠政策答记者问"}{"date": "2006-10-19 ", "title": "税务总局有关方面负责人就个人投资企业债券取得利息征收个人所得税问题答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关方面负责人就调整个人全年一次性奖金政策问题答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局新闻发言人就房地产业税收有关问题答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关方面负责人就个人所得税法修改有关问题答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关方面负责人就《企业所得税汇算清缴管理办法》答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关方面负责人就新修订的《中华人民共和国个人所得税法实施条例》答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关负责人就出台《调整和完善消费税政策征收管理规定》答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关方面负责人就《税务系统领导班子和领导干部监督管理办法(试行)》有关情况答记者..."}{"date": "2006-10-19 ", "title": "国务院法制办、财政部、国家税务总局负责人就《中华人民共和国烟叶税暂行条例》答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关负责人就个人所得税有关问题答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局有关负责人就“三费一金”有关个人所得税政策问题答记者问"}{"date": "2006-10-19 ", "title": "国家税务总局副局长崔俊慧就《国家税务总局关于出口货物退(免)税若干问题的通知》有关问题答记者..."}{"date": "2006-10-19 ", "title": "国家税务总局负责人就《国家税务总局关于个人住房转让所得征收个人所得税有关问题的通知》有关问题..."}{"date": "2006-10-19 ", "title": "调整内资企业计税工资政策,促进企业公平竞争—国家税务总局有关负责人就内资企业计税工资政策调整..."}{"date": "2007-12-14 ", "title": "三部门有关负责人就新企业所得税法内容进行解读"}{"date": "2007-12-11 ", "title": "解读《廉租住房保障办法》"}{"date": "2007-12-06 ", "title": "国务院法制办、财政部、税务总局负责人就新修订的《中华人民共和国耕地占用税暂行条例》有关问题答..."}{"date": "2007-11-06 ", "title": "住房公积金有关个人所得税政策解读"}{"date": "2007-03-21 ", "title": "解读新税法:高新企业不在开发区内也可享低税率"}{"date": "2007-03-20 ", "title": "专家:企业所得税法将提升中国股市整体投资价值"}{"date": "2007-03-20 ", "title": "企业所得税法为社会财富更公平分配提供机制保障"}{"date": "2007-03-20 ", "title": "企业所得税法修改更加符合中国经济社会发展需要"}{"date": "2007-03-20 ", "title": "新税法将有利于减少“假外资”政策性套利行为"}{"date": "2007-03-20 ", "title": "高新企业不在开发区内也可享低税率"}{"date": "2007-03-20 ", "title": "企业节能环保项目可享受税收减免"}{"date": "2007-01-16 ", "title": "海关总署解读07版《中华人民共和国进出口税则》"}{"date": "2006-10-24 ", "title": "税务总局新闻发言人就《个体工商户税收定期定额征收管理办法》有关问题答中国政府网问"}{"date": "2006-10-19 ", "title": "国家税务总局有关负责人就再就业税收优惠政策问题答记者问 "}{"date": "2006-10-19 ", "title": "财政部、商务部、国家税务总局负责人就出口退税机制改革相关问题答记者问"}

 

转载于:https://my.oschina.net/zhackj/blog/1635443

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值