从pastebin Python编译链接列表
目前正在尝试使用python提取pastebin的链接。到目前为止,我所拥有的:从pastebin Python编译链接列表,python,html,regex,lxml,partitioning,Python,Html,Regex,Lxml,Partitioning,目前正在尝试使用python提取pastebin的链接。到目前为止,我所拥有的: from bs4 import BeautifulSoup import re import requests from random import randint import time from lxml import etree from time import sleep import random a = requests.get('http://pastebin.com/JGM3p9c9') scra
from bs4 import BeautifulSoup
import re
import requests
from random import randint
import time
from lxml import etree
from time import sleep
import random
a = requests.get('http://pastebin.com/JGM3p9c9')
scrape = BeautifulSoup(a.text, 'lxml')
linkz = scrape.find_all("textarea", {"id":"paste_code"})
rawlinks = str(linkz)
partition1 = rawlinks.partition('\\r')[0]
links = partition1.partition('">')[-1]
我似乎无法让python编译所有http://
格式的链接,但只能编译第一个。。。使用我在网上发现的正则表达式不起作用
最终目标我正在尝试将链接放入一个列表中,在该列表中我可以向我编译的列表中的所有链接发送请求。首先,您不必提取完整的标记并将其更改为
str
。实现这一目标的更好方法是:
# `next` to extract content within tag v
# instead use `find` v v
>>> my_links = scrape.find("textarea", {"id":"paste_code"}).next
其中my_links
将保存以下值:
u'http://www.walmart.com\r\nhttp://www.target.com\r\nhttp://www.lowes.com\r\nhttp://www.sears.com'
要将此字符串转换为所需的链接列表
,您可以将\r\n
上的字符串拆分为:
>>> my_links.split('\r\n')
[u'http://www.walmart.com', u'http://www.target.com', u'http://www.lowes.com', u'http://www.sears.com']
首先,您不必提取完整的标记并将其更改为
str
。实现这一目标的更好方法是:
# `next` to extract content within tag v
# instead use `find` v v
>>> my_links = scrape.find("textarea", {"id":"paste_code"}).next
其中my_links
将保存以下值:
u'http://www.walmart.com\r\nhttp://www.target.com\r\nhttp://www.lowes.com\r\nhttp://www.sears.com'
要将此字符串转换为所需的链接列表
,您可以将\r\n
上的字符串拆分为:
>>> my_links.split('\r\n')
[u'http://www.walmart.com', u'http://www.target.com', u'http://www.lowes.com', u'http://www.sears.com']
您需要浏览几个HTML层,但我查看了pastebin页面,我认为这段代码会找到您想要的内容(很抱歉切换了几个模块,我只使用了这些模块) 下一次,你需要通过右键点击并选择“检查元素”来查看网站的HML,我建议你抓取一个特定的东西。您还可以执行以下操作:
print(scrape.prettify())
为了更好地了解HTML是如何嵌套的。您需要浏览几层HTML,但我查看了pastebin页面,我认为这段代码会找到您想要的内容(很抱歉切换了几个模块,我只使用了这些模块) 下一次,你需要通过右键点击并选择“检查元素”来查看网站的HML,我建议你抓取一个特定的东西。您还可以执行以下操作:
print(scrape.prettify())
为了更好地了解HTML是如何嵌套的。忘记使用BS解析HTML-在这种特定情况下,您可以直接获取粘贴库的内容,并将其转换为一行
import requests
links = [link.strip() for link in requests.get('http://pastebin.com/raw/JGM3p9c9').text.split('\n')]
您还可以在
\r\n
上拆分,忘记使用BS解析HTML-在这种特定情况下,您可以直接获取粘贴箱的内容,并将其转换为一行
import requests
links = [link.strip() for link in requests.get('http://pastebin.com/raw/JGM3p9c9').text.split('\n')]
您也可以在\r\n