Python 下载网页中所有链接的网络爬虫
我是python初学者,已经编写了一段代码来下载指定url中的所有链接。有没有更好的方法来实现这一点,下面的代码是否正确Python 下载网页中所有链接的网络爬虫,python,python-3.x,web-scraping,Python,Python 3.x,Web Scraping,我是python初学者,已经编写了一段代码来下载指定url中的所有链接。有没有更好的方法来实现这一点,下面的代码是否正确 #!/usr/bin/python3 import re import requests def get_page(url): r = requests.get(url) print(r.status_code) content = r.text return content if __name__ =="__main__": u
#!/usr/bin/python3
import re
import requests
def get_page(url):
r = requests.get(url)
print(r.status_code)
content = r.text
return content
if __name__ =="__main__":
url = 'http://developer.android.com'
content = get_page(url)
content_pattern = re.compile('<a href=(.*?)>.*?</a>')
result = re.findall(content_pattern, content)
for link in result:
with open('download.txt', 'wb') as fd:
for chunk in r.iter_content(chunk_size):
fd.write(chunk)
#/usr/bin/python3
进口稀土
导入请求
def get_页面(url):
r=请求。获取(url)
打印(r.状态\ U代码)
content=r.text
返回内容
如果名称=“\uuuuu main\uuuuuuuu”:
url='1〕http://developer.android.com'
内容=获取页面(url)
内容模式=重新编译(“”)
结果=re.findall(内容模式,内容)
对于链接输入结果:
以open('download.txt','wb')作为fd:
对于r.iter\u内容中的块(块大小):
fd.write(块)
您可能需要研究linuxwget
命令,该命令已经能够执行您想要的操作。如果您真的需要python解决方案,则可以分别执行HTTP请求和解析HTML。您可能需要研究linuxwget
命令,该命令已经能够执行您想要的操作。如果您真的需要python解决方案,则可以分别执行HTTP请求和解析HTML。您可能需要研究linuxwget
命令,该命令已经能够执行您想要的操作。如果您真的需要python解决方案,则可以分别执行HTTP请求和解析HTML。您可能需要研究linuxwget
命令,该命令已经能够执行您想要的操作。如果您确实需要python解决方案,则可以分别执行HTTP请求和解析HTML。尝试以下方法:
from bs4 import BeautifulSoup
import sys
import requests
def get_links(url):
r = requests.get(url)
contents = r.content
soup = BeautifulSoup(contents)
links = []
for link in soup.findAll('a'):
try:
links.append(link['href'])
except KeyError:
pass
return links
if __name__ == "__main__":
url = sys.argv[1]
print get_links(url)
sys.exit()
试试这个:
from bs4 import BeautifulSoup
import sys
import requests
def get_links(url):
r = requests.get(url)
contents = r.content
soup = BeautifulSoup(contents)
links = []
for link in soup.findAll('a'):
try:
links.append(link['href'])
except KeyError:
pass
return links
if __name__ == "__main__":
url = sys.argv[1]
print get_links(url)
sys.exit()
试试这个:
from bs4 import BeautifulSoup
import sys
import requests
def get_links(url):
r = requests.get(url)
contents = r.content
soup = BeautifulSoup(contents)
links = []
for link in soup.findAll('a'):
try:
links.append(link['href'])
except KeyError:
pass
return links
if __name__ == "__main__":
url = sys.argv[1]
print get_links(url)
sys.exit()
试试这个:
from bs4 import BeautifulSoup
import sys
import requests
def get_links(url):
r = requests.get(url)
contents = r.content
soup = BeautifulSoup(contents)
links = []
for link in soup.findAll('a'):
try:
links.append(link['href'])
except KeyError:
pass
return links
if __name__ == "__main__":
url = sys.argv[1]
print get_links(url)
sys.exit()
代码名\uuuu==“\uuuu main”比较什么?这意味着什么?这意味着;如果此文件是用于导入到另一个文件或程序入口的模块,并且此代码似乎正确,那么您要求的是什么?@myildirim如何指定块大小?此代码段使用请求模块,您可以在其文档中找到您搜索的内容。代码名\uuuu==“\uu main”比较了什么?这意味着什么?这意味着;如果此文件是用于导入到另一个文件或程序入口的模块,并且此代码似乎正确,那么您要求的是什么?@myildirim如何指定块大小?此代码段使用请求模块,您可以在其文档中找到您搜索的内容。代码名\uuuu==“\uu main”比较了什么?这意味着什么?这意味着;如果此文件是用于导入到另一个文件或程序入口的模块,并且此代码似乎正确,那么您要求的是什么?@myildirim如何指定块大小?此代码段使用请求模块,您可以在其文档中找到您搜索的内容。代码名\uuuu==“\uu main”比较了什么?这意味着什么?这意味着;如果此文件是用于导入到另一个文件或程序入口的模块,并且此代码似乎正确,那么您需要什么?@myildirim如何指定chunk_大小?此代码段使用requests模块,您可以在其文档中找到您要搜索的内容我想要一个python解决方案,并使用beautiful soup进行解析。有必要通过考试吗。为什么r.text还不够?您不想自己解析HTML,尤其是不想使用正则表达式。如果使用适当的库,您将获得更可靠的结果。这在这个回答中已经被很好地涵盖了:谢谢,现在我提供的链接的网页正在被下载,我无法在网页中获得链接,我的目标是下载这些链接中的内容。我需要一个python解决方案,漂亮的汤用于解析。有必要通过考试吗。为什么r.text还不够?您不想自己解析HTML,尤其是不想使用正则表达式。如果使用适当的库,您将获得更可靠的结果。这在这个回答中已经被很好地涵盖了:谢谢,现在我提供的链接的网页正在被下载,我无法在网页中获得链接,我的目标是下载这些链接中的内容。我需要一个python解决方案,漂亮的汤用于解析。有必要通过考试吗。为什么r.text还不够?您不想自己解析HTML,尤其是不想使用正则表达式。如果使用适当的库,您将获得更可靠的结果。这在这个回答中已经被很好地涵盖了:谢谢,现在我提供的链接的网页正在被下载,我无法在网页中获得链接,我的目标是下载这些链接中的内容。我需要一个python解决方案,漂亮的汤用于解析。有必要通过考试吗。为什么r.text还不够?您不想自己解析HTML,尤其是不想使用正则表达式。如果使用适当的库,您将获得更可靠的结果。这在这个回答中已经被很好地涵盖了:谢谢,现在我提供的链接的网页正在被下载,我无法在网页中获得链接,我的目标是下载这些链接中的内容。我该怎么做?