原因:是因为服务器分成两个网页发送给你,用fiddle抓包看,会有两个网页,而且有时候的哥网页和第二个网页不是同时给你,第二个网页要等好久才能在fiddle上看到,等第二个网页来了,观察器refer和request就会找到他们的联系。例子:
访问:http://www.hngp.gov.cn/anyang/content?infoId=1545632927740932&channelCode=H660203&bz=1
第二个网页:http://www.hngp.gov.cn/webfile/anyang/cgxx/bggg/webinfo/2018/12/1545632927658136.htm
会发现其实就是infold=后面的内容1545632927740932加入到第二个网页,前面的网页格式是一样的,都是这样。
python代码:
pattern=re.compile(r'infoId=([0-9]+)&')
result=pattern.findall(notice['url'])
url='http://sanmenxia.hngp.gov.cn/'+'webfile/sanmenxia/cgxx/bggg/webinfo/2018/12/'+result[0]+'.htm'
req = requests.get(url, headers=self.header)
req.encoding='utf-8'
soup = BeautifulSoup(req.text, "html.parser")
# todo 找到正文内容,正文内容不能包含标题
rows = soup