美文网首页
利用pyquery爬取解析新闻(小朋友使用指南)

利用pyquery爬取解析新闻(小朋友使用指南)

作者: 陆成 | 来源:发表于2016-02-14 16:58 被阅读0次

Step1. 事先准备

工欲善其事必先利其器,小朋友想学爬虫,要先开机

  • 下载sublime(代码编辑器),打开dmg包,拖进application安装
  • 下载Python(mac一般自带),按Control+Space打开Spotlight,输入terminal,打开,(注意加粗的这段话,后面输入命令都是在打开的terminal里面进行),查看版本输入

python -V

注意V是大写,这句命令的意思是说,我要看看现在机器上的Python版本,会输出类似以下内容

Python 2.7.10

Step2. 写代码

## import pyquery
from pyquery import PyQuery as pq
import urllib
import sys,time

## set encoding
reload(sys)
sys.setdefaultencoding('utf-8')

def getCnUrl(s):
    return urllib.quote(s.encode('gbk'))

## set key word
if len(sys.argv) == 2:
    s = sys.argv[1]
else:
    s = '采购'

## http call
html = pq(url="http://news.yodao.com/search?q=" + getCnUrl(s) + "&start=0&length=10&s=rank&tl&tr=no_range&keyfrom=search.page")

## extract data
title = []
content = []
href = []

for text in html('h3 a'):
    singleTitle = "".join(pq(text).text().split(' '))
    if len(sys.argv) == 3:
        singleTitle += "  (" + pq(text).attr('href') + ")"
    title.append(singleTitle)
    href.append(pq(text).attr('href'))


for text in html('h3').next('p'):
    string = "".join(pq(text).text().split(' '))
    content.append(string)

## save 2 file
write = ""
with open('out/' + time.strftime("%Y-%m-%d", time.localtime()) + "_" + s, 'w') as f:
    for i in range(0,len(title)):
        out = title[i] + '\n' + content[i] + '\n'
        f.write(out + "\n")
        print(out)

    f.close()
  • 代码大概分两部分:

    1. 对关键词进行搜索,获取搜索结果。
    2. 对搜索结果进行解析,组成文本。
  • 在了解了大概组成以后,先不研究代码,目标是先运行起来,这时候,打开之前下载的sublime,Command+N创建一个新的文件,将代码copy进去,Command+S保存,(建议保存在个人文件夹下面,或者桌面)保存时新建一个文件夹,保存在新建的文件夹里面,命名为pq.py

  • 在terminal中输入

python pq.py [可选关键词]

可选关键词可填可不填,为爬取的关键词,默认是“采购”,运行以后,terminal中即显示爬取的内容,内容也会存储在当期文件夹下的out目录下。

结果样例

后续课程

目前是一个很简单的关键词爬取版本,依赖于网站提供的搜索接口。后面可以深入的内容有很多,包括断句,内容来源提供,设置定时任务,推送到手机,微信公众号的开发等等,在这之前,我们需要先进行以下课程内容的学习:

  • Python学习,了解代码编写与修改
  • pyquery(jquery)学习,更加灵活地处理爬取内容
  • html基础(DOM)
  • Http基础

相关文章

  • 利用pyquery爬取解析新闻(小朋友使用指南)

    Step1. 事先准备 工欲善其事必先利其器,小朋友想学爬虫,要先开机 下载sublime(代码编辑器),打开dm...

  • 爬取淘宝商品列表

    在解决了淘宝登录问题以后就开始进行淘宝商品的爬取,住要是利用Selenium抓取淘宝商品并用pyquery解析得到...

  • requests+pyquery爬取《新浪新闻》

    安装环境 pip install requests pip install pyquery ps要是再有问题,给我...

  • 用PyQuery写爬虫爬取新闻

    爬虫 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 法律责任 爬虫禁止爬取个人隐私数据和明确...

  • 实战:requests和pyquery爬取美女图片

    实战:使用PyQuery和Requests爬取美女图片 前提:已安装request库、PyQuery、mongod...

  • Python第三方库【总结更新中】2019.05.17

    爬取网站数据相关 pyquery lxml cssselect selenium urllib3 pyExcele...

  • 豆瓣电影 top250 爬虫

    发现没什么好说的,主要是这个 pyquery 库比较好用,能实现像 操纵DOM 一样解析网页。主要功能: 将爬取的...

  • pyquery爬取豆瓣读书

    本任务需求: 爬取豆瓣阅读所有书籍的书名、出版社、评分、简介等相关信息。豆瓣的网页比较干净整洁,链接很有规律 本文...

  • python爬虫

    一、新闻爬虫实战(爬取新浪新闻首页所有新闻内容)思路:1、爬取新闻首页2、得到各新闻链接3、爬取新闻链接4、寻找有...

  • 爬取外交部发言

    按照新闻爬页面的代码 按照页面爬数据的,其实很类似 感觉 PyQuery 实在是太好用了,比 BeautifulS...

网友评论

      本文标题:利用pyquery爬取解析新闻(小朋友使用指南)

      本文链接:https://www.haomeiwen.com/subject/otfpkttx.html