python3爬取网页上的链接信息
前提是需要将python的版本升级到python3。升级方法见:linux下python升级至python3知乎
然后还需要安装bs4.安装的方法是命令行输入 python -m pip install bs4 即可(如果安装了python3但是不是默认的python版本,则需要输入python3 -m pip install bs4)
然后运行下面的脚本,就可以看到命令行筛选出我们需要的链接了!
1#coding=utf-8
2import urllib.request #注意!如果是python2版本没有request模块。需要升级到python3.
3import ssl
4from bs4 import BeautifulSoup
5
6url_list=['https://******.html']#填入所需ulr
7
8for url in url_list:
9
10 ssl._create_default_https_context = ssl._create_unverified_context
11 req=urllib.request.Request(url)
12 rsp=urllib.request.urlopen(req)
13 html=rsp.read().decode('utf-8','ignore')
14
15 html=BeautifulSoup(html,'html.parser')
16
17 counter=0
18 for link in html.find_all('a',limit=92):#limit这里可以限制最多的条数,防止网页中的链接太多。
19 info_link=link.get('href')
20 if type(info_link)!=type('abc'):
21 continue
22 if len(info_link)<28 or len(info_link)>29:#修改此处的数值对查找到的链接进行筛选。可以自己调参尝试。
23 continue
24 counter=counter+1
25 info_text=link.get_text(strip=True)
26
27 print(counter)
28 print(info_text)
29 print('https://*******/'+info_link+'\n')#修改此处的网址,根据情况补全链接