【发布时间】:2018-09-11 11:48:59
【问题描述】:
我想爬,但是遇到了一些麻烦,我需要打开商品的每个链接并获取它的信息并将其保存为.html每个商品的页面 现在我只能打印页面上的所有链接
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import requests
import urllib3
import ssl
from requests import request
urllib3.disable_warnings()
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
pass
else:
ssl._create_default_https_context = _create_unverified_https_context
PYTHONHTTPSVERIFY=0
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
headers = {'User-Agent': user_agent}
t = request('GET', url=my_url, headers=headers, verify=False).text
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div", {"class": 'product'})
filename = "web.html"
f= open(filename, "w")
for containers in page_soup.findAll('div', attrs={'class': 'product'}):
f.write(containers.a['href'] + '\n')
f.close()
【问题讨论】:
-
让我们从这个开始:你为什么要提出两个相同的请求?只是为了看看它是如何工作的?在您提出请求后,我没有看到您使用
t。 -
t 用于 ssl 验证,我可以肯定删除其中的 1 个,那就是 nvm,我无法在所有页面中找到所有优点并通过链接删除所有信息
-
到目前为止,您编写了所有 URL 的列表。请edit您的问题,以显示您试图从这些网址中获取哪些信息。
标签: python python-3.x web-scraping beautifulsoup web-crawler