首页 > 编程知识 正文

qpython,python爬虫爬取网页表格数据

时间:2023-05-04 01:50:13 阅读:58033 作者:3330

爬行动物:爬静态页面

工具: pycharm、python3.6、火狐浏览器

模块: requests (可通过pipinstallrequests安装),re (不需要安装)。

URL:http://www.ygdy8. net/html/gndy/dyzz/index.html电影天堂

以火狐浏览器为例

复制视频名称,在web源代码中搜索并查看是否找到。

显示页面的源代码,Ctrl f。

可以在网页的源代码中找到内容。 这一般是静态页面。 没有找到。 通常是动态页面。 必须按F12键在网络上查找动态网页。

随便点击电影,就去电影详细界面。 往下看,可以看到下载地址,磁力链。

这就是我们要获取的磁力链的地址。

再看看主页吧。 可以看到下面翻页的界面。

点击第二页,浏览一下网站。

这是前三页的网站。

主页为http://www.ygdy8. net/html/gndy/dyzz/index.html

33558 www.ygdy8. net/html/gndy/dyzz/list _ 23 _1. html相同

3358 www.ygdy8. net/html/gndy/dyzz/list _ 23 _1. html 3358 www.ygdy8. net/html/gndy/dyzz/list _ 23:

使用字符串的拼接。 打印并显示网址。

forpageinrange (1,178 ) : URL=' http://www.ygdy8. net/html/gndy/dyzz/list _ 23 _ ' str ) page ).html '

首先分析一页,ysdss查找磁链接。 现在,在ysdss找到磁链接之前,必须进入详细页面。

请看此页面的URL。 http://www.ygdy8. net/html/gndy/dyzz/2018 08 04/57202.html

在3http://www.ygdy8. net/html/gndy/dyzz/list _ 23 _1. html的web源代码中,查找20180804/57202看看能否找到。

正好找到了这个网站。 我们从网页的源代码中提取这个链接。 得到详细的信息页面。

先访问,获取源代码

forpageinrange (1,2 ) : URL=' http://www.ygdy8. net/html/gndy/dyzz/list _ 23 _ ' str ) page ).html'prage

按F12键显示元素

找到代码charset=gb2312

forpageinrange (1,2 ) : URL=' http://www.ygdy8. net/html/gndy/dyzz/list _ 23 _ ' str ) page ).html'prage 网站是相对的网站,不是完整的网站。' 提取/html/gndy/dyzz/2018 08 04/57202.html ' )后,必须将其连接到完整的站点。

使用正则表达式提取。

DATA=re.findall(ahref=) ).*? (class=) ulink )、html.text )是列表print(data )正则表达式).*? 不贪婪的匹配。 加括号是提取

循环获取详细页面的完整网站

formin data : xq URL=' http://www.ygdy8. net ' m print (xq URL )现在可以获得一页上所有电影的详细页面。 我们随便找xqurl打开,就可以看到电影的详细信息。 然后获取详细页面的源代码。 在源代码中利用正则表达式获取磁力耦合。

XQURL=' http://www.ygdy8. net ' m # print (xq URL ) html2=requests.get ) xq URL ) html2.encoding='gb2312'#指定代码/a/td ',html2.text(0) print ) dylink )使用try来防止不匹配信息的数组越界。

XQURL=' http://www.ygdy8. net ' m # print (xq URL ) html2=requests.get ) xq URL ) html2.encoding='gb2312'#指定代码/a/td ',html2.text([0]print ) dylink ) except: print (“缺少匹配信息”)将检索到的链接写入记事本

with open ('电影天堂. txt ',' a ' ) ASf:f.write(dylink'n ' ) #完整代码

importrequestsimportreforpageinrange (1, 178 ) : URL=' http://www.ygdy8. net/html/gndy/dyzz/list _ 23 _ ' str (page ).html'print(url ) html=() 返回print(data ) formin data : xqURL=' http://www.ygdy8. net ' m # print ) xq URL ) html2=requests .的代码# print (htmml (ftp://.*? /a/td ',html2.text([0]print(dylink ) except: print )“缺少匹配信息”) with open (电影天堂. txt )、“a”、“encept” 防止ip被阻止。 也可以使用代理ip

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。