我在urls.txt
script.py
urls.txt
有一个包含多个网址的列表,每行一个。
我试图一次性抓取所有网址并提取特定div
此div
在每个网址上多次出现
这是我的脚本
import requests
from bs4 import BeautifulSoup
from urllib import urlopen
with open('urls.txt') as inf:
urls = (line.strip() for line in inf)
for url in urls:
site = urlopen(url)
soup = BeautifulSoup(site, "lxml")
for item in soup.find_all("div", {"class": "vm-product-descr-container-1"}):
print item.text
脚本只返回列表中最后一个网址的内容,而不是从urls.txt
中的所有网址返回内容。
我的脚本没有返回任何错误,所以我不确定我哪里出错了。
感谢您的任何意见。
答案 0 :(得分:1)
似乎是一个小的身份错误: 看看这个街区:
for url in urls:
site = urlopen(url)
soup = BeautifulSoup(site, "lxml")
for item in soup.find_all("div", {"class": "vm-product-descr-container-1"}):
print item.text
将其更改为:
for url in urls:
site = urlopen(url)
soup = BeautifulSoup(site, "lxml")
for item in soup.find_all("div", {"class": "vm-product-descr-container-1"}):
print item.text
这样,打印将在内部for循环中的每次迭代中执行。