web爬虫本质上就是一种递归,首先获取一个url对应的页面内容,检测这个页面寻找另一个url,再获取该url对应的网页内容,并不断循环这一过程。这也就是代码在运行的时候是那么慢的原因了...
抱歉,强行塞了一个开头....
前置:需要引入的包
import re
import ssl
import urllib.request
from bs4 import BeautifulSoup
示例1:访问url并解析后返回
def visit_page(url):
"""
解析主url的函数,并返回BeautifulSoup解析后的html
:param url:
:return:
"""
headers = {"user-agent":
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"
}
ssl._create_default_https_context = ssl._create_unverified_context
url_obj = urllib.request.Request(url, headers=header