java 爬虫 url管理器_Python爬虫:URL管理器及其实现方式、网页下载器、网页解析器原理及其实现原理!-Go语言中文社区...

Python爬虫之URL管理器:

19ef3f692112b47e354f53c4277126b2.png

Python爬虫:URL管理器实现方式:

39c648bcae14c5b32e2a37786a7bdaaa.png

Python爬虫之网页下载器:

de51992277f9fd6c8244fbd747ac3a08.png

2289399bcbb843676e856a56612ce91e.png

urllib2实现网页下载器的三种方法:

c64462b60561ea5fc9642f38b311737e.png

0d6ab2c8ba6c01077252a396c57030e1.png

15dc41092335c07062ee76c300bd824b.png

具体代码:

754797d390658d8a1a820efef5e06455.png

337d94bbaef971a082df8e95fa3d2d4f.png

Python网页解析器:

9601f0c611ec4ca7ebe8fc1d4b56fd41.png

c3e46ce89c703485f50f00c549d77628.png

da310d248507a20cc15d64ac4df6105d.png

664aff7036f67c532dbe7f7792c39ba9.png

6d15819757515fb8d2fa89063276ee3d.png

db79ad0a16645798bd965eaa9f2fae79.png

例子:import requests

from bs4 import BeautifulSoup

def getHTMLText(url):

try:

r = requests.get(url, timeout = 30)

r.raise_for_status()

#r.encoding = 'utf-8'

return r.text

except:

return ""

def getContent(url):

html = getHTMLText(url)

# print(html)

soup = BeautifulSoup(html, "html.parser")

title = soup.select("div.hd > h1")

print(title[0].get_text())

time = soup.select("div.a_Info > span.a_time")

print(time[0].string)

author = soup.select("div.qq_articleFt > div.qq_toolWrap > div.qq_editor")

print(author[0].get_text())

paras = soup.select("div.Cnt-Main-Article-QQ > p.text")

for para in paras:

if len(para) > 0:

print(para.get_text())

print()

#写入文件

fo = open("text.txt", "w+")

fo.writelines(title[0].get_text() + "n")

fo.writelines(time[0].get_text() + "n")

for para in paras:

if len(para) > 0:

fo.writelines(para.get_text() + "nn")

fo.writelines(author[0].get_text() + 'n')

fo.close()

#将爬取到的文章用字典格式来存

article = {

'Title' : title[0].get_text(),

'Time' : time[0].get_text(),

'Paragraph' : paras,

'Author' : author[0].get_text()

}

print(article)

def main():

url = "http://news.qq.com/a/20170504/012032.htm"

getContent(url);

main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值