我正在做一个小项目,一个网站爬虫,我遇到了一个(我认为)与urllib.open()
. 所以,假设我想抓取 Google 的主页、一个连接查询,然后是一个搜索查询。(我实际上并没有试图从谷歌上抓取,但我认为它们很容易展示。)
from bs4 import BeautifulSoup
import urllib
url = urllib.urlopen("https://www.google.com/")
soup = BeautifulSoup(url)
parseList1=[]
for i in soup.stripped_strings:
parseList1.append(i)
parseList1 = list(parseList1[10:15])
#Second URL
url2 = urllib.urlopen("https://www.google.com/"+"#q=Kerbal Space Program")
soup2 = BeautifulSoup(url2)
parseList2=[]
for i in soup2.stripped_strings:
parseList2.append(i)
parseList2 = list(parseList2[10:15])
#Third URL
url3 = urllib.urlopen("https://www.google.com/#q=Kerbal Space Program")
soup3 = BeautifulSoup(url3)
parseList3=[]
for i in soup3.stripped_strings:
parseList3.append(i)
parseList3 = list(parseList3[10:15])
print " 1 "
for i in parseList1:
print i
print " 2 "
for i in parseList2:
print i
print " 3 "
for i in parseList3:
print i
这打印出来:
1
A whole nasty mess of scraped code from Google
2
3
这让我相信 # 符号可能会阻止 URL 打开?连接的字符串不会引发任何连接错误,但仍然不会读入任何内容。
有谁知道为什么会发生这种情况?我从没想过字符串中的 # 会对代码产生任何影响。我认为这对我来说是一个愚蠢的错误,但如果是这样,我看不到它。
谢谢