Python怎样抓取当前页面HTML内容?

Python怎样抓取当前页面HTML内容?,第1张

Python用做数据处理还是相当不错的,如果你想要做爬虫,Python是很好的选择,它有很多已经写好的类包,只要调用,即可完成很多复杂的功能,此文中所有的功能都是基于BeautifulSoup这个包。

1 Pyhton获取网页的内容(也就是源代码)

page = urllib2.urlopen(url)

contents = page.read()

#获得了整个网页的内容也就是源代码 print(contents)

url代表网址,contents代表网址所对应的源代码,urllib2是需要用到的包,以上三句代码就能获得网页的整个源代码

2 获取网页中想要的内容(先要获得网页源代码,再分析网页源代码,找所对应的标签,然后提取出标签中的内容)

你好!

可以通过lxml来获取指定标签的内容。

#安装lxml

pip install lxml

import requests

from lxml import html

def getHTMLText(url):

    ....

    

etree = html.etree

root = etree.HTML(getHTMLText(url))

#这里得到一个表格内tr的集合

trArr  = root.xpath("//div[@class='news-text']/table/tbody/tr")

#循环显示tr里面的内容

for tr in trArr:

    rank = tr.xpath("./td[1]/text()")[0]

    name = tr.xpath("./td[2]/div/text()")[0]

    prov = tr.xpath("./td[3]/text()")[0]

    strLen = 22-len(name.encode('GBK'))+len(name)

    print('排名:{:<3},   学校名称:{:<{}}\t,   省份:{}'.format(rank,name,strLen,prov))

希望对你有帮助!

如果是中间的数据直接就用bs4最简单

from bs4 import BeautifulSoup

#这里是请求过来的额数据处理,提取标签

html = BeautifulSoup(response.text, 'html.parser')

body = html.body       # 获取body部分数据

div = body.find("div",{'id','today'}) #用find去找div标签,id叫 today的标签里面的数据

就可以了

如果要提取标签内容比如value的值

div = body.find("input",id='hidden_title')['value']


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6258736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存