├── src ├── README.md ├── qcast.py └── data_collection.ipynb ├── data ├── README.md ├── twitter-cred.json ├── sites.txt └── sites_twitter.txt ├── .gitignore ├── README.md └── LICENSE.txt /src/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints 2 | -------------------------------------------------------------------------------- /data/twitter-cred.json: -------------------------------------------------------------------------------- 1 | { "access_token_key" : "", "access_token_secret" : "", "api_key" : "", "api_secret" : "" } 2 | { "access_token_key" : "", "access_token_secret" : "", "api_key" : "", "api_secret" : "" } 3 | -------------------------------------------------------------------------------- /src/qcast.py: -------------------------------------------------------------------------------- 1 | """ 2 | Scrape QuantCast demographic information. Ids read from file specified on command-line. 3 | 4 | e.g. 5 | 6 | $ cat /data/tweco/qcast_ids.txt 7 | answers.com 8 | $ python qcast.py /data/tweco/qcast_ids.txt 9 | {"No Kids": 86, "$0-50k": 112, "45-54": 100, "$150k+": 74, "Other": 98, "55-64": 82, "Caucasian": 94, "< 18": 69, "No College": 92, "35-44": 104, "65+": 74, "$100-150k": 81, "Grad School": 84, "brand": "answers.com", "25-34": 111, "Hispanic": 127, "African American": 122, "Male": 87, "$50-100k": 94, "Has Kids": 115, "18-24": 152, "College": 115, "Asian": 97, "Female": 112} 10 | """ 11 | import json 12 | import re 13 | import requests 14 | import sys 15 | import time 16 | 17 | from BeautifulSoup import BeautifulSoup as bs 18 | 19 | 20 | def read_file(filename): 21 | return [l.strip() for l in open(filename, 'rb').readlines()] 22 | 23 | 24 | url = 'https://www.quantcast.com/' 25 | classes = ['tr-GENDER', 'tr-AGE', 'tr-CHILDREN', 'tr-INCOME', 'tr-EDUCATION', 'tr-ETHNICITY', 'tr-POLITICS'] 26 | brands = read_file(sys.argv[1]) 27 | for brand in brands: 28 | u = url + brand + '/demographics' 29 | data = {} 30 | data['brand'] = brand 31 | try: 32 | soup = bs(requests.get(u).text) 33 | for cl in soup.findAll(attrs={'class': 'demographics-composition'}): 34 | for tr in cl.findAll('tr'): 35 | label = tr.findChild(attrs={'style': 'text-align:left; padding-right:2px; width:108px'}).contents[0].strip() 36 | value = tr.findChild(attrs={'class': re.compile(r"index-digit.*")}).contents[0].strip() 37 | data[label] = value 38 | print json.dumps(data, sort_keys=True) 39 | time.sleep(1) # Be nice and sleep 1 second between calls. 40 | except Exception as e: 41 | sys.stderr.write('exception %s, skipping\n' % e) 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **Please see the more recent version here: ** 2 | 3 | This repository contains data and code to reproduce the results of the paper "[Predicting the demographics of Twitter users from website traffic data](http://www.cs.iit.edu/~culotta/pubs/culotta15predicting.pdf)", by Aron Culotta, Nirmal Ravi, and Jennifer Cutler, presented at the 29th AAAI Conference on Artificial Intelligence ([AAAI-15](http://www.aaai.org/Conferences/AAAI/aaai15.php)), 2015. 4 | 5 | ## Abstract 6 | 7 | Understanding the demographics of users of online social networks has important applications for health, marketing, and public messaging. In this paper, we predict the demographics of Twitter users based on whom they follow. Whereas most prior approaches rely on a supervised learning approach, in which individual users are labeled with demographics, we instead create a distantly labeled dataset by collecting audience measurement data for 1,500 websites (e.g., 50% of visitors to gizmodo.com are estimated to have a bachelor's degree). We then fit a regression model to predict these demographics using information about the followers of each website on Twitter. The resulting average held-out correlation is .77 across six different variables (gender, age, ethnicity, education, income, and child status). We additionally validate the model on a smaller set of Twitter users labeled individually for ethnicity and gender, finding performance that is surprisingly competitive with a fully supervised approach. 8 | 9 | ## Content 10 | 11 | This repository is organized as follows: 12 | * [`data`](data/): (some) of the data used in the experiments. 13 | * [`src`](src/): iPython notebooks to reproduce results. 14 | 15 | ###[`data`](data/) 16 | 17 | * `brands.json` : contains names of 1500 websites 18 | * `demo.json` : contains variables information like gender,age etc for the 1500 websites 19 | * `twitter-cred.json` : accounts used in data collection 20 | 21 | ###[`src`](src/) 22 | 23 | * `data_collection.ipynb` : data collection code 24 | * `data_processing.ipynb` : data processing code 25 | 26 | ###Installation and configuration 27 | 28 | 1. [Install MongoDB](http://docs.mongodb.org/manual/installation/) 29 | 2. Install python modules 30 | ```sh 31 | $ pip install anaconda 32 | $ pip install pymongo 33 | $ pip install twython 34 | $ pip install ipython 35 | $ pip install twutil 36 | ``` 37 | 3. Add your twitter credentials to [`data/twitter-cred.json`](data/twitter-cred.json). 38 | 4. Clone this repo 39 | ```sh 40 | $ git clone https://github.com/tapilab/aaai-2015-demographics.git 41 | ``` 42 | 5. Run the notebooks 43 | ```sh 44 | $ cd aaai-2015-demographics/src 45 | $ ipython notebook --matplotlib inline data_collection.ipynb 46 | $ ipython notebook --matplotlib inline data_processing.ipynb 47 | ``` 48 | 49 | ### Static Notebooks 50 | 51 | Static versions of the iPython notebooks are here: 52 | 53 | - [data_collection.ipynb](http://nbviewer.ipython.org/github/tapilab/aaai-2015-demographics/blob/master/src/data_collection.ipynb) 54 | - [data_processing.ipynb](http://nbviewer.ipython.org/github/tapilab/aaai-2015-demographics/blob/master/src/data_processing.ipynb) 55 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | {one line to give the program's name and a brief idea of what it does.} 635 | Copyright (C) {year} {name of author} 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | {project} Copyright (C) {year} {fullname} 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | 676 | -------------------------------------------------------------------------------- /data/sites.txt: -------------------------------------------------------------------------------- 1 | autospies.com 2 | autotraderclassics.com 3 | bikeexif.com 4 | cardomain.com 5 | dmv.org 6 | truedelta.com 7 | vwvortex.com 8 | dealbreaker.com 9 | gigaom.com 10 | venturebeat.com 11 | wallstcheatsheet.com 12 | zerohedge.com 13 | blackcelebkids.com 14 | deadline.com 15 | globalgrind.com 16 | gossipcop.com 17 | guestofaguest.com 18 | gunaxin.com 19 | hecklerspray.com 20 | hollywoodlife.com 21 | io9.com 22 | dlisted.com 23 | kineda.com 24 | jezebel.com 25 | popsugar.com 26 | radaronline.com 27 | starpulse.com 28 | avclub.com 29 | theurbandaily.com 30 | tmz.com 31 | toofab.com 32 | uinterview.com 33 | vladtv.com 34 | wetpaint.com 35 | whosdatedwho.com 36 | x17online.com 37 | starcasm.net 38 | activebeat.co 39 | acidcow.com 40 | theawl.com 41 | brobible.com 42 | cuteoverload.com 43 | screwattack.com 44 | somethingawful.com 45 | theberry.com 46 | blogher.com 47 | boingboing.net 48 | eater.com 49 | everyjoe.com 50 | flavorwire.com 51 | fluther.com 52 | gothamist.com 53 | kickstarter.com 54 | marriland.com 55 | nerve.com 56 | notalwaysright.com 57 | personalliberty.com 58 | petapixel.com 59 | ranker.com 60 | seriouseats.com 61 | sneakernews.com 62 | thechive.com 63 | towleroad.com 64 | weddingbee.com 65 | americablog.com 66 | crooksandliars.com 67 | dailykos.com 68 | mediaite.com 69 | politico.com 70 | redstate.com 71 | theblaze.com 72 | talkingpointsmemo.com 73 | wickedlocal.com 74 | wonkette.com 75 | thinkprogress.org 76 | kevinandamanda.com 77 | gearpatrol.com 78 | jalopnik.com 79 | mouseplanet.com 80 | 9to5mac.com 81 | afterdawn.com 82 | daniweb.com 83 | geekosystem.com 84 | lifehacker.com 85 | searchengineland.com 86 | techcrunch.com 87 | thenextweb.com 88 | ubergizmo.com 89 | theverge.com 90 | wattsupwiththat.com 91 | runningshoesguru.com 92 | uncrate.com 93 | addictivetips.com 94 | evilbeetgossip.com 95 | realityblurred.com 96 | rickey.org 97 | prospect.org 98 | greatschools.org 99 | collegeprowler.com 100 | moviepilot.com 101 | joblo.com 102 | movieinsider.com 103 | movies.com 104 | rottentomatoes.com 105 | artsonia.com 106 | zvents.com 107 | broadwayworld.com 108 | jambase.com 109 | marcustheatres.com 110 | activediner.com 111 | allmenus.com 112 | menuism.com 113 | aetv.com 114 | bravotv.com 115 | cbn.com 116 | clarkhoward.com 117 | comedycentral.com 118 | discovery.com 119 | drphil.com 120 | eonline.com 121 | ewtn.com 122 | history.com 123 | kqed.org 124 | latenightwithjimmyfallon.com 125 | mylifetime.com 126 | nbc.com 127 | oprah.com 128 | outdoorchannel.com 129 | oxygen.com 130 | rachaelrayshow.com 131 | sidereel.com 132 | southparkstudios.com 133 | syfy.com 134 | titantv.com 135 | today.com 136 | tvfanatic.com 137 | tvline.com 138 | televisionwithoutpity.com 139 | usanetwork.com 140 | zap2it.com 141 | g4tv.com 142 | movieguide.org 143 | out.com 144 | radiocity.com 145 | investorplace.com 146 | forsalebyowner.com 147 | landwatch.com 148 | lakehouse.com 149 | lotterypost.com 150 | teamrankings.com 151 | poolhost.com 152 | boardgamegeek.com 153 | cheatcodes.com 154 | cheatmasters.com 155 | cheatsguru.com 156 | kotaku.com 157 | destructoid.com 158 | gamefront.com 159 | gametrailers.com 160 | gamezebo.com 161 | gamezone.com 162 | moddb.com 163 | n4g.com 164 | nintendolife.com 165 | operationsports.com 166 | siliconera.com 167 | strategywiki.org 168 | escapistmagazine.com 169 | toucharcade.com 170 | twitch.tv 171 | ugo.com 172 | vgchartz.com 173 | wowwiki.com 174 | lolking.net 175 | planetminecraft.com 176 | addictinggames.com 177 | addictinggames.com 178 | hi5.com 179 | wildtangent.com 180 | terrariaonline.com 181 | woozworld.com 182 | aq.com 183 | ninjakiwi.com 184 | psu.com 185 | calorielab.com 186 | health.com 187 | mensfitness.com 188 | menshealth.com 189 | prevention.com 190 | yogajournal.com 191 | youbeauty.com 192 | mydearvalentine.com 193 | caring.com 194 | activebeat.com 195 | diabetes.org 196 | autismspeaks.org 197 | blackdoctor.org 198 | dailystrength.org 199 | dlife.com 200 | drgreene.com 201 | drweil.com 202 | pharmdaily.com 203 | pharmdaily.com 204 | vitals.com 205 | drugs.com 206 | blisstree.com 207 | davita.com 208 | bakerella.com 209 | bigoven.com 210 | cdkitchen.com 211 | cookinglight.com 212 | eatingwell.com 213 | elanaspantry.com 214 | finecooking.com 215 | joyofbaking.com 216 | keyingredient.com 217 | myrecipes.com 218 | simplyrecipes.com 219 | tablespoon.com 220 | thekitchn.com 221 | vegetariantimes.com 222 | winemag.com 223 | colourlovers.com 224 | craftstylish.com 225 | instructables.com 226 | makezine.com 227 | tipjunkie.com 228 | earth911.com 229 | ecorazzi.com 230 | grist.org 231 | mongabay.com 232 | mnn.com 233 | treehugger.com 234 | worldwildlife.org 235 | workingmother.com 236 | akc.org 237 | babble.com 238 | babycenter.com 239 | babynames.com 240 | babynamewizard.com 241 | beliefnet.com 242 | collegecandy.com 243 | petplace.com 244 | education.com 245 | elfster.com 246 | everydayfamily.com 247 | fitpregnancy.com 248 | gurl.com 249 | horoscope.com 250 | ivillage.com 251 | justmommies.com 252 | life123.com 253 | lifetips.com 254 | mademan.com 255 | mamapedia.com 256 | mentalfloss.com 257 | weegy.com 258 | parabebes.com 259 | patheos.com 260 | yumsugar.com 261 | primarygames.com 262 | primarygames.com 263 | shebudgets.com 264 | sunset.com 265 | tarot.com 266 | womensforum.com 267 | yourtango.com 268 | joycemeyer.org 269 | 29secrets.com 270 | burdastyle.com 271 | latest-hairstyles.com 272 | refinery29.com 273 | solecollector.com 274 | taaz.com 275 | thegloss.com 276 | trendhunter.com 277 | apartmenttherapy.com 278 | myhomeideas.com 279 | traditionalhome.com 280 | break.com 281 | cheezburger.com 282 | collegehumor.com 283 | dorkly.com 284 | ebaumsworld.com 285 | gawker.com 286 | godlikeproductions.com 287 | gocomics.com 288 | holytaco.com 289 | ilyke.net 290 | izismile.com 291 | listverse.com 292 | quibblo.com 293 | roosterteeth.com 294 | smosh.com 295 | wildammo.com 296 | yourdailymedia.com 297 | fanpop.com 298 | gardenweb.com 299 | chordie.com 300 | guitarworld.com 301 | lyricsmode.com 302 | pianoworld.com 303 | roughstock.com 304 | songlyrics.com 305 | artnet.com 306 | deviantart.com 307 | glogster.com 308 | laughingsquid.com 309 | lifetouch.com 310 | addictinginfo.org 311 | americanthinker.com 312 | usconstitution.net 313 | freepatriot.org 314 | thegatewaypundit.com 315 | humanevents.com 316 | humanevents.com 317 | mrconservative.com 318 | nationalreview.com 319 | politicalwire.com 320 | politicususa.com 321 | politifact.com 322 | rushlimbaugh.com 323 | upworthy.com 324 | weeklystandard.com 325 | wheresgeorge.com 326 | comicbookresources.com 327 | goodreads.com 328 | wattpad.com 329 | howstuffworks.com 330 | webelements.com 331 | popsci.com 332 | scientificamerican.com 333 | sciencebuddies.org 334 | sciencedaily.com 335 | skyandtelescope.com 336 | tested.com 337 | universetoday.com 338 | androidcentral.com 339 | appleinsider.com 340 | computerworld.com 341 | computerworld.com 342 | dvice.com 343 | gizmag.com 344 | gizmodo.com 345 | hackaday.com 346 | howtogeek.com 347 | infoworld.com 348 | theinquirer.net 349 | itworld.com 350 | macrumors.com 351 | networkworld.com 352 | technologyreview.com 353 | techspot.com 354 | thetech.org 355 | techreport.com 356 | tomsguide.com 357 | tomshardware.com 358 | freekibble.com 359 | redcross.org 360 | takepart.com 361 | movie-moron.com 362 | bettyconfidential.com 363 | clker.com 364 | cutoutandkeep.net 365 | dickmorris.com 366 | dornob.com 367 | crochetpatterncentral.com 368 | knittingpatterncentral.com 369 | gourmetsleuth.com 370 | fredmiranda.com 371 | grandparents.com 372 | questionablecontent.net 373 | lookbook.nu 374 | construction.com 375 | pregnancy.org 376 | publishersweekly.com 377 | quizfarm.com 378 | regretfulmorning.com 379 | religioustolerance.org 380 | hannity.com 381 | doggies.com 382 | aish.com 383 | sweepstakes.com 384 | 4shared.com 385 | allhiphop.com 386 | hiphopdx.com 387 | hotnewhiphop.com 388 | hypem.com 389 | kididdles.com 390 | livemixtapes.com 391 | okayplayer.com 392 | rapgenius.com 393 | sohh.com 394 | songza.com 395 | soundclick.com 396 | taylorswift.com 397 | twit.tv 398 | wetransfer.com 399 | 8tracks.com 400 | broadcastify.com 401 | coasttocoastam.com 402 | elvisduran.com 403 | kcrw.com 404 | live365.com 405 | radio.com 406 | radioreference.com 407 | tunegenie.com 408 | tunein.com 409 | weei.com 410 | z100.com 411 | bigthink.com 412 | blip.tv 413 | contactmusic.com 414 | devour.com 415 | flixxy.com 416 | grindtv.com 417 | irokotv.com 418 | jokeroo.com 419 | justin.tv 420 | metacafe.com 421 | ovguide.com 422 | powerblocktv.com 423 | snotr.com 424 | streetfire.net 425 | videobash.com 426 | music-lyrics-gospel.com 427 | killsometime.com 428 | ora.tv 429 | newscientist.com 430 | adage.com 431 | adweek.com 432 | allyou.com 433 | alternet.org 434 | athlonsports.com 435 | bhg.com 436 | bhg.com 437 | celebritytoob.com 438 | celebritytoob.com 439 | chicagomag.com 440 | complex.com 441 | dimemag.com 442 | ew.com 443 | fieldandstream.com 444 | foreignpolicy.com 445 | gossiponthis.com 446 | instyle.com 447 | lonny.com 448 | mania.com 449 | maxim.com 450 | pagesix.com 451 | parade.com 452 | pastemagazine.com 453 | peopleenespanol.com 454 | people.com 455 | realsimple.com 456 | reason.com 457 | rollingstone.com 458 | runnersworld.com 459 | salon.com 460 | slamonline.com 461 | southernliving.com 462 | stylebistro.com 463 | suite101.com 464 | teenidols4you.com 465 | advocate.com 466 | thenation.com 467 | theweek.com 468 | usmagazine.com 469 | variety.com 470 | vibe.com 471 | weeklyworldnews.com 472 | womenshealthmag.com 473 | 247wallst.com 474 | abc15.com 475 | abc2news.com 476 | abcactionnews.com 477 | accesshollywood.com 478 | advfn.com 479 | ajc.com 480 | al.com 481 | allafrica.com 482 | alltop.com 483 | animenewsnetwork.com 484 | ap.org 485 | arkansasonline.com 486 | arktimes.com 487 | austinchronicle.com 488 | azcentral.com 489 | azfamily.com 490 | berkshireeagle.com 491 | billingsgazette.com 492 | bleacherreport.com 493 | bostonherald.com 494 | breakingnews.com 495 | nbcnews.com 496 | socialmediatoday.com 497 | nbcsports.com 498 | chicoer.com 499 | christianpost.com 500 | citypages.com 501 | cleveland.com 502 | clickondetroit.com 503 | cnbc.com 504 | cnsnews.com 505 | courierpress.com 506 | csmonitor.com 507 | trib.com 508 | express.co.uk 509 | dailycaller.com 510 | dailycamera.com 511 | darkhorizons.com 512 | daytondailynews.com 513 | washingtonexaminer.com 514 | delcotimes.com 515 | denverpost.com 516 | westword.com 517 | deseretnews.com 518 | digitalspy.com 519 | djournal.com 520 | drudgereport.com 521 | elnuevoherald.com 522 | elpasotimes.com 523 | eurweb.com 524 | fannation.com 525 | fark.com 526 | flightstats.com 527 | fortmilltimes.com 528 | foxsports.com 529 | fresnobee.com 530 | glennbeck.com 531 | globegazette.com 532 | hanfordsentinel.com 533 | heraldextra.com 534 | kentucky.com 535 | heraldnet.com 536 | hitfix.com 537 | houstonpress.com 538 | oregonlive.com 539 | huffingtonpost.com 540 | hutchnews.com 541 | ibtimes.com 542 | independent.co.uk 543 | inforum.com 544 | insidebayarea.com 545 | islandpacket.com 546 | jamaicaobserver.com 547 | journalstar.com 548 | journaltimes.com 549 | kansas.com 550 | kcrg.com 551 | kiplinger.com 552 | knoxnews.com 553 | ktvu.com 554 | lacrossetribune.com 555 | dailynews.com 556 | laist.com 557 | lancasteronline.com 558 | larrybrownsports.com 559 | legacy.com 560 | lehighvalleylive.com 561 | liveleak.com 562 | ljworld.com 563 | macombdaily.com 564 | masslive.com 565 | mcclatchydc.com 566 | mediotiempo.com 567 | mhsaa.com 568 | miamiherald.com 569 | miaminewtimes.com 570 | minyanville.com 571 | mlive.com 572 | modbee.com 573 | montereyherald.com 574 | mtstandard.com 575 | mydailymoment.com 576 | nashvillescene.com 577 | nationalgeographic.com 578 | nationalmemo.com 579 | nbcbayarea.com 580 | nbcconnecticut.com 581 | nbcdfw.com 582 | nbcwashington.com 583 | nesn.com 584 | newburyportnews.com 585 | news9.com 586 | newsbusters.org 587 | newsmax.com 588 | newsobserver.com 589 | newsok.com 590 | newson6.com 591 | newstribune.com 592 | observer.com 593 | nj.com 594 | nola.com 595 | wn.com 596 | nwitimes.com 597 | nydailynews.com 598 | omaha.com 599 | pantagraph.com 600 | pennlive.com 601 | phoenixnewtimes.com 602 | policymic.com 603 | thepostgame.com 604 | postandcourier.com 605 | poststar.com 606 | presstelegram.com 607 | rantsports.com 608 | rawstory.com 609 | rapidcityjournal.com 610 | registerguard.com 611 | riverfronttimes.com 612 | deadspin.com 613 | timesdispatch.com 614 | salemnews.com 615 | salisburypost.com 616 | santamariatimes.com 617 | satelliteguys.us 618 | sbsun.com 619 | tdn.com 620 | sandiegoreader.com 621 | seattletimes.com 622 | sfweekly.com 623 | sgvtribune.com 624 | fannation.com 625 | silive.com 626 | sanluisobispo.com 627 | sportsgrid.com 628 | azstarnet.com 629 | startribune.com 630 | statesman.com 631 | stltoday.com 632 | thestranger.com 633 | streetinsider.com 634 | streetauthority.com 635 | sugarscape.com 636 | sunherald.com 637 | surfline.com 638 | syracuse.com 639 | tcpalm.com 640 | teen.com 641 | theadvocate.com 642 | economist.com 643 | thefiscaltimes.com 644 | thegrio.com 645 | thehill.com 646 | theindychannel.com 647 | thenewstribune.com 648 | theoaklandpress.com 649 | charlotteobserver.com 650 | theolympian.com 651 | theonion.com 652 | thesouthern.com 653 | thestate.com 654 | thesunchronicle.com 655 | thetandd.com 656 | time.com 657 | timesnews.net 658 | abovethelaw.com 659 | topspeed.com 660 | totalprosports.com 661 | triblive.com 662 | tribstar.com 663 | tulsaworld.com 664 | vagazette.com 665 | vcstar.com 666 | villagevoice.com 667 | washingtonpost.com 668 | wcfcourier.com 669 | washingtoncitypaper.com 670 | wcpo.com 671 | newsnet5.com 672 | wfmz.com 673 | wftv.com 674 | wgbh.org 675 | whiotv.com 676 | whittierdailynews.com 677 | wkyt.com 678 | wndu.com 679 | wnd.com 680 | wowt.com 681 | wptv.com 682 | wsaz.com 683 | wsbtv.com 684 | wsoctv.com 685 | washingtontimes.com 686 | wunderground.com 687 | wxyz.com 688 | yardbarker.com 689 | zimbio.com 690 | firsttoknow.com 691 | buzzfeed.com 692 | dailydot.com 693 | examiner.com 694 | newser.com 695 | nowpublic.com 696 | screenrant.com 697 | thedailybeast.com 698 | inquisitr.com 699 | topix.com 700 | truthdig.com 701 | volokh.com 702 | whatculture.com 703 | davisenterprise.com 704 | bismarcktribune.com 705 | blastr.com 706 | chicagoreader.com 707 | cio.com 708 | citypaper.com 709 | dailybreeze.com 710 | dfw.com 711 | democratherald.com 712 | duluthnewstribune.com 713 | eagletribune.com 714 | firstthings.com 715 | fredericknewspost.com 716 | fortwayne.com 717 | gazette.net 718 | golfweek.com 719 | gazettetimes.com 720 | helenair.com 721 | herald-review.com 722 | hispanicbusiness.com 723 | dailybulletin.com 724 | johnsoncitypress.com 725 | kirotv.com 726 | kjonline.com 727 | ksat.com 728 | kxly.com 729 | click2houston.com 730 | lowellsun.com 731 | pottsmerc.com 732 | miami.com 733 | commentarymagazine.com 734 | napavalleyregister.com 735 | nationalenquirer.com 736 | nbcmiami.com 737 | nbclosangeles.com 738 | naplesnews.com 739 | news-gazette.com 740 | 9wsyr.com 741 | fredericksburg.com 742 | news-sentinel.com 743 | onenewspage.com 744 | observer-reporter.com 745 | palmbeachpost.com 746 | post-gazette.com 747 | pinknews.co.uk 748 | powdermag.com 749 | qctimes.com 750 | rasmussenreports.com 751 | bestofneworleans.com 752 | macleans.ca 753 | auburnpub.com 754 | anorak.co.uk 755 | magicvalley.com 756 | news4jax.com 757 | cakecentral.com 758 | foodgawker.com 759 | findthebest.com 760 | colgate.com 761 | johnsonville.com 762 | harpercollins.com 763 | cvent.com 764 | ihigh.com 765 | pbworks.com 766 | obeo.com 767 | designerapparel.com 768 | shopstyle.com 769 | auctionzip.com 770 | bidcactus.com 771 | bismanonline.com 772 | elclasificado.com 773 | encuentra24.com 774 | geebo.com 775 | gunbroker.com 776 | icollector.com 777 | ioffer.com 778 | purplewave.com 779 | shopgoodwill.com 780 | alibris.com 781 | dummies.com 782 | aarons.com 783 | mobileburn.com 784 | solidsignal.com 785 | fandango.com 786 | theatermania.com 787 | giantfoodstores.com 788 | bandcamp.com 789 | cinemablend.com 790 | finegardening.com 791 | mowersdirect.com 792 | wayfair.com 793 | kicksonfire.com 794 | pickyourshoes.com 795 | airsoftgi.com 796 | artfire.com 797 | equinenow.com 798 | mycomicshop.com 799 | mywedding.com 800 | spafinder.com 801 | zibbet.com 802 | skis.com 803 | mtbr.com 804 | allaboutdance.com 805 | artfact.com 806 | ashleystewart.com 807 | rackroomshoes.com 808 | modnique.com 809 | baseballamerica.com 810 | mlbdailydish.com 811 | mlbtraderumors.com 812 | insidehoops.com 813 | kusports.com 814 | yalebulldogs.com 815 | fftoolbox.com 816 | fftoolbox.com 817 | rotoworld.com 818 | 247sports.com 819 | colts.com 820 | golfchannel.com 821 | golfwrx.com 822 | golf.com 823 | worldgolf.com 824 | nhl.com 825 | athletic.net 826 | fansided.com 827 | handgunsmag.com 828 | outdoorlife.com 829 | outsports.com 830 | wrestlinginc.com 831 | milesplit.com 832 | mmafighting.com 833 | mmajunkie.com 834 | mmamania.com 835 | livesoccertv.com 836 | usta.com 837 | futhead.com 838 | marathonguide.com 839 | mmaweekly.com 840 | buffalobulls.com 841 | alcatrazcruises.com 842 | brownstoner.com 843 | colorado.com 844 | desertusa.com 845 | thefuntimesguide.com 846 | laweekly.com 847 | louisianatravel.com 848 | tnvacation.com 849 | travelok.com 850 | travelwisconsin.com 851 | visitflorida.com 852 | visitmaine.com 853 | visitpa.com 854 | washingtonian.com 855 | yankeemagazine.com 856 | shermanstravel.com 857 | luxurylink.com 858 | sixflags.com 859 | fodors.com 860 | frommers.com 861 | flightaware.com 862 | bedandbreakfast.com 863 | dallasobserver.com 864 | denver.org 865 | nyc.com 866 | nycgovparks.org 867 | oyster.com 868 | michigan.org 869 | crackberry.com 870 | androidcommunity.com 871 | everythingicafe.com 872 | youmail.com 873 | myxer.com 874 | 1011now.com 875 | 1015store.com 876 | 11points.com 877 | 140proof.com 878 | streamenergy.net 879 | vanishingtattoo.com 880 | indianasnewscenter.com 881 | digsdigs.com 882 | 2dopeboyz.com 883 | 365daysofcrockpot.com 884 | 365greetings.com 885 | 5dollardinners.com 886 | 5gig.com 887 | wwnytv.com 888 | 7x7.com 889 | 813area.com 890 | 92q.com 891 | 937thebull.com 892 | kysdc.com 893 | theboxhouston.com 894 | 9to5google.com 895 | 9to5toys.com 896 | kvia.com 897 | abesmarket.com 898 | accidentin.com 899 | acmepackingcompany.com 900 | actionnewsjax.com 901 | addictedtoquack.com 902 | adventuresinpoortaste.com 903 | afamilyfeast.com 904 | allaccess.com 905 | alleydog.com 906 | allfortennessee.com 907 | alligatorarmy.com 908 | allkidsnetwork.com 909 | alltrails.com 910 | alphamom.com 911 | altpress.com 912 | at40.com 913 | ammoland.com 914 | ammoseek.com 915 | anabolicminds.com 916 | ancientfaces.com 917 | androidpolice.com 918 | androidtablets.net 919 | anediblemosaic.com 920 | animalnewyork.com 921 | annies-eats.com 922 | appadvice.com 923 | appshopper.com 924 | apunkachoice.com 925 | aqha.com 926 | archdaily.com 927 | archinect.com 928 | areavoices.com 929 | arlnow.com 930 | arrowheadaddict.com 931 | arrowheadpride.com 932 | artistserver.com 933 | artofmanliness.com 934 | askamanager.org 935 | askubuntu.com 936 | asubtlerevelry.com 937 | straightfromthea.com 938 | audiomack.com 939 | austinist.com 940 | aviewfrommyseat.com 941 | awfulannouncing.com 942 | a-z-animals.com 943 | buckys5thquarter.com 944 | baby2see.com 945 | babynamegenie.com 946 | badappreviews.com 947 | badassdigest.com 948 | badlefthook.com 949 | balleralert.com 950 | ballerstatus.com 951 | bassmaster.com 952 | bassresource.com 953 | batman-news.com 954 | battleredblog.com 955 | bbcamericashop.com 956 | beacontheatre.com 957 | beautybets.com 958 | beautyrest.com 959 | bellacaledonia.org.uk 960 | belletire.com 961 | berecruited.com 962 | berkeleyside.com 963 | bestteenpoems.com 964 | betabeat.com 965 | betcheslovethis.com 966 | bethenny.com 967 | boltsfromtheblue.com 968 | blackgirllonghair.com 969 | bgr.com 970 | biggirlssmallkitchen.com 971 | bigblueview.com 972 | bigcatcountry.com 973 | bikeradar.com 974 | bikerumor.com 975 | bilerico.com 976 | billhighway.com 977 | billyjoel.com 978 | bitesizewellness.com 979 | bizpacreview.com 980 | brooklynflea.com 981 | thewirecutter.com 982 | blazersedge.com 983 | bleedinggreennation.com 984 | blessyouboys.com 985 | bloggingtheboys.com 986 | blogmybrain.com 987 | bloguin.com 988 | bloodyelbow.com 989 | boardingarea.com 990 | bobandtom.com 991 | bobborst.com 992 | boiseweekly.com 993 | boldride.com 994 | bookriot.com 995 | burntorangereport.com 996 | bostonmagazine.com 997 | bowhuntingmag.com 998 | brandeating.com 999 | brevilleusa.com 1000 | brickset.com 1001 | bridalguide.com 1002 | brightnest.com 1003 | brightscope.com 1004 | bringatrailer.com 1005 | brokelyn.com 1006 | bromygod.com 1007 | bruinsnation.com 1008 | bubblynaturecreations.com 1009 | bucsnation.com 1010 | budget101.com 1011 | buffalorumblings.com 1012 | bulletproofexec.com 1013 | bunsinmyoven.com 1014 | bustedcoverage.com 1015 | cablemover.com 1016 | cagepotato.com 1017 | cagesideseats.com 1018 | cakesdecor.com 1019 | camelcamelcamel.com 1020 | cannabis.com 1021 | canonrumors.com 1022 | capitalnewyork.com 1023 | carbonated.tv 1024 | cardchronicle.com 1025 | carolinalive.com 1026 | deliciouslyorganic.net 1027 | carrotsncake.com 1028 | carseatblog.com 1029 | catscratchreader.com 1030 | newsplex.com 1031 | celiaccentral.org 1032 | celinedion.com 1033 | celticsblog.com 1034 | channelguidemagblog.com 1035 | charismamag.com 1036 | checkiday.com 1037 | chickensintheroad.com 1038 | chinasmack.com 1039 | choosehelp.com 1040 | christianacare.org 1041 | christiancinema.com 1042 | christianforums.com 1043 | christiantoday.com 1044 | cincinnatiusa.com 1045 | cinemassacre.com 1046 | cities2night.com 1047 | clclt.com 1048 | classiccars.com 1049 | cleantechnica.com 1050 | clevescene.com 1051 | closetcooking.com 1052 | clutchfans.net 1053 | cnycentral.com 1054 | coastalliving.com 1055 | collegefashion.net 1056 | collegespun.com 1057 | thisiscolossal.com 1058 | comfortablefood.com 1059 | comicbook.com 1060 | columbiamissourian.com 1061 | conceptcarz.com 1062 | conservativeangle.com 1063 | constantchatter.com 1064 | cookieandkate.com 1065 | coolhunting.com 1066 | coolmaterial.com 1067 | coolmompicks.com 1068 | copyblogger.com 1069 | coreperformance.com 1070 | cornnation.com 1071 | corporette.com 1072 | consequenceofsound.net 1073 | cougcenter.com 1074 | countrymusicontour.com 1075 | craftgawker.com 1076 | creativewithkids.com 1077 | creditsoup.com 1078 | cricketcountry.com 1079 | crisismagazine.com 1080 | crushable.com 1081 | cupcakeproject.com 1082 | curbed.com 1083 | gamepedia.com 1084 | cutegirlshairstyles.com 1085 | cyclingnews.com 1086 | d3football.com 1087 | dailyburn.com 1088 | dailyinfographic.com 1089 | dailynorseman.com 1090 | dailyhoroscope.com 1091 | dance.net 1092 | dandb.com 1093 | dyslexia.com 1094 | dawgsbynature.com 1095 | dcist.com 1096 | ddotomen.com 1097 | deadlinedetroit.com 1098 | findadeath.com 1099 | debbieschlussel.com 1100 | deliciousobsessions.com 1101 | dezeen.com 1102 | digitalromanceinc.com 1103 | dinarguru.com 1104 | dinneralovestory.com 1105 | discoverlosangeles.com 1106 | discoversd.com 1107 | disinfo.com 1108 | districtlines.com 1109 | thehappierhomemaker.com 1110 | djbooth.net 1111 | do512.com 1112 | doandroidsdance.com 1113 | dodgersnation.com 1114 | dogshaming.com 1115 | dollarstorecrafts.com 1116 | dormstormer.com 1117 | my.jobs 1118 | downrightnow.com 1119 | drfranklipman.com 1120 | droid-life.com 1121 | dudeiwantthat.com 1122 | dwell.com 1123 | eastbayexpress.com 1124 | eastoftheweb.com 1125 | eatingrules.com 1126 | eatliverun.com 1127 | ebizmba.com 1128 | everydayshouldbesaturday.com 1129 | ehardhat.com 1130 | electronicmidwest.com 1131 | elev8.com 1132 | elevenwarriors.com 1133 | emsworld.com 1134 | endlesssimmer.com 1135 | engineerjobs.com 1136 | enstarz.com 1137 | escapehere.com 1138 | eshakti.com 1139 | eskimopress.com 1140 | etfdailynews.com 1141 | everydaymaven.com 1142 | everytrail.com 1143 | excelsior.com.mx 1144 | exploregeorgia.org 1145 | cummingsstudyguides.net 1146 | ezstream.com 1147 | fakeshoredrive.com 1148 | fame10.com 1149 | familyshare.com 1150 | famoushookups.com 1151 | fanlala.com 1152 | fashionista.com 1153 | faxo.com 1154 | fertilethoughts.com 1155 | fertilityauthority.com 1156 | finehomebuilding.com 1157 | fieldgulls.com 1158 | thecourier.com 1159 | firehouse.com 1160 | firefighternation.com 1161 | firstwefeast.com 1162 | fishwrapper.com 1163 | fitclick.com 1164 | fitsnews.com 1165 | flavortownusa.com 1166 | flexonline.com 1167 | flor.com 1168 | flotrack.org 1169 | flowrestling.org 1170 | flyingmag.com 1171 | fashionnstyle.com 1172 | handmadecharlotte.com 1173 | foodieblogroll.com 1174 | fooducate.com 1175 | nationalfootballpost.com 1176 | catholicculture.org 1177 | 4-traders.com 1178 | forwardprogressives.com 1179 | fox21news.com 1180 | fox23.com 1181 | thefeaturedcreature.com 1182 | fuelly.com 1183 | funnyvinevideos.com 1184 | furiousfanboys.com 1185 | fwd.us 1186 | gadailynews.com 1187 | gaf.com 1188 | gajitz.com 1189 | gameandfishmag.com 1190 | gamedayr.com 1191 | gamerant.com 1192 | gamerescape.com 1193 | gamewise.co 1194 | ganeshaspeaks.com 1195 | goodbullhunting.com 1196 | gcaptain.com 1197 | gearnuke.com 1198 | geekdad.com 1199 | geeksofdoom.com 1200 | geektyrant.com 1201 | geekwire.com 1202 | electricgeneratorsdirect.com 1203 | getcrocked.com 1204 | geteventjobs.com 1205 | grandforksherald.com 1206 | glutenfreeonashoestring.com 1207 | giantlife.com 1208 | giphy.com 1209 | girlschase.com 1210 | girlsinyogapants.com 1211 | giveforward.com 1212 | goodlifeeats.com 1213 | goodmenproject.com 1214 | goshtube.com 1215 | gospelherald.com 1216 | gossipextra.com 1217 | gourmetrecipe.com 1218 | greatist.com 1219 | greekchat.com 1220 | greekrank.com 1221 | greenlitebites.com 1222 | greenmedinfo.com 1223 | greginhollywood.com 1224 | gtaforums.com 1225 | gta4.net 1226 | gtav.net 1227 | gulflive.com 1228 | gunssavelives.net 1229 | hancinema.net 1230 | hasitleaked.com 1231 | hauteliving.com 1232 | hbcudigest.com 1233 | healthyaperture.com 1234 | hellogiggles.com 1235 | hercampus.com 1236 | higherone.com 1237 | myonemoney.com 1238 | hiphopsince1987.com 1239 | hitchedmag.com 1240 | hngn.com 1241 | hodinkee.com 1242 | hogshaven.com 1243 | hollywoodtake.com 1244 | honeybearlane.com 1245 | honolulumagazine.com 1246 | hoosierhomemade.com 1247 | horoscopo.com 1248 | shitbrix.com 1249 | indyhiphop.com 1250 | hothothoops.com 1251 | bottomlinepublications.com 1252 | howtobeadad.com 1253 | huskermax.com 1254 | hustlebelt.com 1255 | hyperallergic.com 1256 | hypertextbook.com 1257 | ibsgroup.org 1258 | ibtimes.co.in 1259 | ibtimes.co.uk 1260 | icy-veins.com 1261 | identi.li 1262 | idesigntimes.com 1263 | ifish.net 1264 | igta5.com 1265 | iheartnaptime.net 1266 | ikeafans.com 1267 | illroots.com 1268 | ilpuncut.com 1269 | imore.com 1270 | impactnews.com 1271 | impactwrestling.com 1272 | indexmundi.com 1273 | indiancountrytodaymedianetwork.com 1274 | infarrantlycreative.net 1275 | inkedmag.com 1276 | insidethehall.com 1277 | inthesetimes.com 1278 | intothegloss.com 1279 | ipadforums.net 1280 | iphoneforums.net 1281 | ireporterstv.co 1282 | irishcentral.com 1283 | iseek.org 1284 | islamicity.com 1285 | islands.com 1286 | itproportal.com 1287 | itsybitsysteps.com 1288 | jamesaltucher.com 1289 | theglitterguide.com 1290 | jewishjournal.com 1291 | myjewishlearning.com 1292 | journalgazette.net 1293 | jobscore.com 1294 | jonathanturley.org 1295 | joonbug.com 1296 | jamespatterson.com 1297 | capitolhillseattle.com 1298 | julieseatsandtreats.com 1299 | justdogbreeds.com 1300 | k12reader.com 1301 | katheats.com 1302 | keenspot.com 1303 | kellehampton.com 1304 | kernelmag.com 1305 | kesq.com 1306 | kfiam640.com 1307 | khanapakana.com 1308 | khq.com 1309 | kicksdeals.com 1310 | kitchenstewardship.com 1311 | kjrh.com 1312 | klout.com 1313 | kmbz.com 1314 | knockoffdecor.com 1315 | knoworthy.com 1316 | kolotv.com 1317 | kpvi.com 1318 | krdo.com 1319 | rageagainsttheminivan.com 1320 | mynews4.com 1321 | ktvz.com 1322 | kveller.com 1323 | kwch.com 1324 | kwtx.com 1325 | kxii.com 1326 | lapatilla.com 1327 | louisianasportsman.com 1328 | lakersnation.com 1329 | landgrantholyland.com 1330 | landsofamerica.com 1331 | latinpost.com 1332 | latourist.com 1333 | littlehouseliving.com 1334 | lifeloveandsugar.com 1335 | lifeandtimes.com 1336 | likecool.com 1337 | thelingerieaddict.com 1338 | list25.com 1339 | list25.com 1340 | livebinders.com 1341 | localmemphis.com 1342 | localnews8.com 1343 | logotv.com 1344 | lolception.com 1345 | lolfanatic.com 1346 | lolpro.com 1347 | lombardiave.com 1348 | lostlettermen.com 1349 | lostlettermen.com 1350 | loveandoliveoil.com 1351 | lovebscott.com 1352 | lovelyish.com 1353 | lovemaegan.com 1354 | lovemeow.com 1355 | m14forum.com 1356 | macaronikid.com 1357 | macmillandictionary.com 1358 | macheesmo.com 1359 | maizenbrew.com 1360 | myhoustonmajic.com 1361 | makeandtakes.com 1362 | malibustrings.com 1363 | muscleandfitnesshers.com 1364 | marinij.com 1365 | marshill.com 1366 | meinmyplace.com 1367 | missinfo.tv 1368 | mercedsunstar.com 1369 | spanishcentral.com 1370 | messynessychic.com 1371 | metroparent.com 1372 | mgoblog.com 1373 | milehighreport.com 1374 | mindbodygreen.com 1375 | minnpost.com 1376 | mma-core.com 1377 | medicalmarijuana.com 1378 | mnfootballhub.com 1379 | minnesotamonthly.com 1380 | modernfarmer.com 1381 | blommi.com 1382 | mommyish.com 1383 | mommyshorts.com 1384 | moneysavingqueen.com 1385 | moneyunder30.com 1386 | movieline.com 1387 | mp3boo.com 1388 | mrcolionnoir.com 1389 | mstarz.com 1390 | forwhomthecowbelltolls.com 1391 | mtgsalvation.com 1392 | mun2.tv 1393 | musicplayon.com 1394 | musingsofamuse.com 1395 | mwcconnection.com 1396 | myajc.com 1397 | myarklamiss.com 1398 | mynintendonews.com 1399 | myregistry.com 1400 | mysticlake.com 1401 | nameberry.com 1402 | nationbuilder.com 1403 | mynaturalfamily.com 1404 | naturallycurly.com 1405 | northamericanwhitetail.com 1406 | nbc15.com 1407 | news8000.com 1408 | news92fm.com 1409 | newschoolers.com 1410 | newyork.com 1411 | nextmovie.com 1412 | nflspinzone.com 1413 | sportscity.com 1414 | nextimpulsesports.com 1415 | ninersnation.com 1416 | northlandsnewscenter.com 1417 | nofilmschool.com 1418 | notimeforflashcards.com 1419 | nomnompaleo.com 1420 | notcot.org 1421 | notebookcheck.net 1422 | noticiaaldia.com 1423 | notmartha.org 1424 | nowness.com 1425 | nuggetry.com 1426 | numerology.com 1427 | nwahomepage.com 1428 | newyorkcomiccon.com 1429 | nyulocal.com 1430 | theoatmeal.com 1431 | oceanup.com 1432 | ocweekly.com 1433 | ohgizmo.com 1434 | ohhappyday.com 1435 | ohmyveggies.com 1436 | onlocationvacations.com 1437 | omtimes.com 1438 | oncewed.com 1439 | onenewspage.us 1440 | onebigphoto.com 1441 | openculture.com 1442 | officialplaystationmagazine.co.uk 1443 | opposingviews.com 1444 | orderup.com 1445 | organicauthority.com 1446 | ourdailybears.com 1447 | ourlads.com 1448 | outsideonline.com 1449 | overthemonster.com 1450 | pahomepage.com 1451 | pandodaily.com 1452 | passiveaggressivenotes.com 1453 | parentmap.com 1454 | pastapadre.com 1455 | patdollard.com 1456 | patspulpit.com 1457 | pauladeenstore.com 1458 | paulaschoice.com 1459 | burntorangenation.com 1460 | pbr.com 1461 | pcgamesn.com 1462 | pdga.com 1463 | pdxpipeline.com 1464 | pegasusnews.com 1465 | pep.ph 1466 | perfectgame.org 1467 | persephonemagazine.com 1468 | petitelefant.com 1469 | petstew.com 1470 | pittsburghmagazine.com 1471 | thephoblographer.com 1472 | phys.org 1473 | dailypicksandflicks.com 1474 | pickuptrucks.com 1475 | pigeonsandplanes.com 1476 | pinchmysalt.com 1477 | pinkberry.com 1478 | pinkvilla.com 1479 | pinstripealley.com 1480 | pocketchangegourmet.com 1481 | playbill.com 1482 | playboy.com 1483 | pocketables.com 1484 | pocketfives.com 1485 | podbean.com 1486 | pokecommunity.com 1487 | pokernews.com 1488 | polldaddy.com 1489 | portlandmonthlymag.com 1490 | pophangover.com 1491 | popphoto.com 1492 | popthatzit.com 1493 | popville.com 1494 | mycolumbuspower.com 1495 | practicallyfunctional.com 1496 | praisephilly.com 1497 | pregnantchicken.com 1498 | prekinders.com 1499 | preventionrd.com 1500 | prideofdetroit.com 1501 | primalpalate.com 1502 | primaryarms.com 1503 | profilerehab.com 1504 | projectnursery.com 1505 | projectqatlanta.com 1506 | promotive.com 1507 | prowrestling.net 1508 | prudentbaby.com 1509 | ps3news.com 1510 | planetsave.com 1511 | blacksportsonline.com 1512 | psychicsuniverse.com 1513 | psychologytoday.com 1514 | ptable.com 1515 | ptotoday.com 1516 | pwtorch.com 1517 | queerty.com 1518 | racked.com 1519 | rantlifestyle.com 1520 | rasamalaysia.com 1521 | recordsetter.com 1522 | redtri.com 1523 | redalertpolitics.com 1524 | redflagnews.com 1525 | refinedhype.com 1526 | relevantmagazine.com 1527 | rentjungle.com 1528 | rentrange.com 1529 | instagr.in 1530 | retrorenovation.com 1531 | returnofkings.com 1532 | revengeofthebirds.com 1533 | reversegif.com 1534 | amazingribs.com 1535 | richmond.com 1536 | rightthisminute.com 1537 | rigzone.com 1538 | ringsidenews.com 1539 | riveraveblues.com 1540 | riversideonline.com 1541 | realmenrealstyle.com 1542 | rnbxclusive.se 1543 | roadbikereview.com 1544 | roadkillcustoms.com 1545 | roadtrippers.com 1546 | rolereboot.org 1547 | rollbamaroll.com 1548 | jimromenesko.com 1549 | runningintheusa.com 1550 | therussparrmorningshow.com 1551 | rusticweddingchic.com 1552 | sacurrent.com 1553 | canalstreetchronicles.com 1554 | sanduskyregister.com 1555 | sanjeevkapoor.com 1556 | santikos.com 1557 | saveur.com 1558 | savorysimple.net 1559 | savorysweetlife.com 1560 | independent.com 1561 | sbnation.com 1562 | baseballnation.com 1563 | scarymommy.com 1564 | scoringlive.com 1565 | screenjunkies.com 1566 | scribd.com 1567 | saturdaydownsouth.com 1568 | clatl.com 1569 | paloaltoonline.com 1570 | seattlemet.com 1571 | selectism.com 1572 | truckertotrucker.com 1573 | sew4home.com 1574 | sfappeal.com 1575 | sfbg.com 1576 | sflchronicle.com 1577 | sfstation.com 1578 | shaggybevo.com 1579 | shanghaiist.com 1580 | shanty-2-chic.com 1581 | shapeways.com 1582 | sheridanhoops.com 1583 | shewired.com 1584 | shiftgig.com 1585 | shinola.com 1586 | shootingtimes.com 1587 | shopwell.com 1588 | sigtalk.com 1589 | siliconangle.com 1590 | silverandblackpride.com 1591 | simplebites.net 1592 | simplemom.net 1593 | somewhatsimple.com 1594 | singletracks.com 1595 | thelandryhat.com 1596 | slantmagazine.com 1597 | thesleuthjournal.com 1598 | slowtwitch.com 1599 | socialmediaexaminer.com 1600 | smithsonianmag.com 1601 | snapwidget.com 1602 | sneakerreport.com 1603 | sneakerwatch.com 1604 | sneakhype.com 1605 | awsm.com 1606 | societyofchic.com 1607 | societyandreligion.com 1608 | sofrep.com 1609 | sopitas.com 1610 | thespacelab.tv 1611 | spiritnow.com 1612 | sweetpeaskitchen.com 1613 | splitsider.com 1614 | spoilertv.com 1615 | spoonforkbacon.com 1616 | sportschatplace.com 1617 | sportsoverdose.com 1618 | sportsvite.com 1619 | spotcrime.com 1620 | spotzot.com 1621 | stageagent.com 1622 | stampedeblue.com 1623 | stripes.com 1624 | statecollege.com 1625 | statesymbolsusa.org 1626 | statisticbrain.com 1627 | statuecruises.com 1628 | stayclassy.org 1629 | stealherstyle.net 1630 | stlmag.com 1631 | streeteasy.com 1632 | twitlonger.com 1633 | apstudynotes.org 1634 | stupiddope.com 1635 | styleblueprint.com 1636 | styleite.com 1637 | styleweekly.com 1638 | summertomato.com 1639 | supercook.com 1640 | surfermag.com 1641 | surfingmagazine.com 1642 | surnamedb.com 1643 | svpply.com 1644 | silverfishlongboarding.com 1645 | sweetopia.net 1646 | symthic.com 1647 | tabletmag.com 1648 | takelessons.com 1649 | talkingchop.com 1650 | tapastic.com 1651 | tapiture.com 1652 | tasteandtellblog.com 1653 | tastespotting.com 1654 | tdpri.com 1655 | slader.com 1656 | teamspeedkills.com 1657 | technologytell.com 1658 | temptalia.com 1659 | tennisrecruiting.net 1660 | texashsfootball.com 1661 | thatsnonsense.com 1662 | theinertia.com 1663 | therapinsider.com 1664 | thebacklot.com 1665 | thebeatdfw.com 1666 | theblemish.com 1667 | thebolditalic.com 1668 | thebudgetbabe.com 1669 | thecutekid.com 1670 | thedailybanter.com 1671 | dailycurrant.com 1672 | thedissolve.com 1673 | ellentv.com 1674 | theeverygirl.com 1675 | thefader.com 1676 | thefalcoholic.com 1677 | thefreshloaf.com 1678 | theinspiredroom.net 1679 | thejasminebrand.com 1680 | latintimes.com 1681 | thelibertarianrepublic.com 1682 | thelittlekitchen.net 1683 | thelmagazine.com 1684 | themarysue.com 1685 | themotherhuddle.com 1686 | thephinsider.com 1687 | thepointsguy.com 1688 | theresurgence.com 1689 | therundown.tv 1690 | theshoegame.com 1691 | theuntz.com 1692 | thezoereport.com 1693 | thirstyroots.com 1694 | thisisrnb.com 1695 | thoughtcatalog.com 1696 | threadsmagazine.com 1697 | thyblackman.com 1698 | tidymom.net 1699 | timetoast.com 1700 | inflexwetrust.com 1701 | tinyhouseblog.com 1702 | tinyhouselistings.com 1703 | tinyurl.com 1704 | terminallance.com 1705 | nationalreport.net 1706 | todaysmama.com 1707 | tomahawknation.com 1708 | tomandlorenzo.com 1709 | ministry-to-children.com 1710 | toonzone.net 1711 | topclassactions.com 1712 | top5.com 1713 | totallyfreestuff.com 1714 | totalfratmove.com 1715 | touringplans.com 1716 | therealdeal.com 1717 | trentonian.com 1718 | truebluela.com 1719 | tunefind.com 1720 | turfshowtimes.com 1721 | uamshealth.com 1722 | ubreakifix.com 1723 | ucatholic.com 1724 | underwearexpert.com 1725 | universalhub.com 1726 | unlockit.co.nz 1727 | untappedcities.com 1728 | upnorthlive.com 1729 | uptownmagazine.com 1730 | urbandecay.com 1731 | usacarry.com 1732 | usccb.org 1733 | uwishunu.com 1734 | valuewalk.com 1735 | verbalcommits.com 1736 | veria.com 1737 | vibrantnation.com 1738 | vidaysalud.com 1739 | videomaker.com 1740 | vosizneias.com 1741 | visitkc.com 1742 | visitphilly.com 1743 | visual.ly 1744 | vitalmtb.com 1745 | vitalmx.com 1746 | vivaelbirdos.com 1747 | vocero.com 1748 | wafflesatnoon.com 1749 | wallpaperswide.com 1750 | wallstreetoasis.com 1751 | wbal.com 1752 | wbls.com 1753 | wbng.com 1754 | dailylocal.com 1755 | wctv.tv 1756 | watertowndailytimes.com 1757 | weallsupport.com 1758 | shewearsmanyhats.com 1759 | web2carz.com 1760 | webosnation.com 1761 | weddingchicks.com 1762 | weddinggawker.com 1763 | weddingmapper.com 1764 | weedmaps.com 1765 | weelicious.com 1766 | superskinnyme.com 1767 | westchestermagazine.com 1768 | westerndigs.org 1769 | totallyloveit.com 1770 | wegotthiscovered.com 1771 | whatsongisinthatcommercial.com 1772 | whosampled.com 1773 | wikigameguides.com 1774 | wilx.com 1775 | windycitygridiron.com 1776 | wired2fish.com 1777 | wishesmessages.com 1778 | wissports.net 1779 | witn.com 1780 | wjhg.com 1781 | wktv.com 1782 | wmpoweruser.com 1783 | womanfreebies.com 1784 | cartoonjr.com 1785 | workingperson.com 1786 | worldoffemale.com 1787 | wpcentral.com 1788 | wrdw.com 1789 | wsaw.com 1790 | wtok.com 1791 | wweek.com 1792 | elgenero.com 1793 | xclusiveszone.net 1794 | xdtalk.com 1795 | christinaaguilera.com 1796 | yorkietalk.com 1797 | youlookfab.com 1798 | your4state.com 1799 | yourblackworld.net 1800 | your-daily-girl.com 1801 | youredm.com 1802 | theyeshivaworld.com 1803 | zhiphopcleveland.com 1804 | zam.com 1805 | zeldadungeon.net 1806 | zilvia.net 1807 | addforums.com 1808 | carcarekiosk.com 1809 | designsponge.com 1810 | downtrend.com 1811 | fragrantica.com 1812 | globalpost.com 1813 | higherone.com 1814 | idigitaltimes.com 1815 | irishcentral.com 1816 | jobamatic.com 1817 | kinja.com 1818 | knowyourmeme.com 1819 | latinospost.com 1820 | lienscash.com 1821 | liquor.com 1822 | lyrster.com 1823 | medicaldaily.com 1824 | nicoclub.com 1825 | ohsheglows.com 1826 | polygon.com 1827 | sethadamsmith.com 1828 | studyblue.com 1829 | thechivery.com 1830 | worthpoint.com 1831 | -------------------------------------------------------------------------------- /data/sites_twitter.txt: -------------------------------------------------------------------------------- 1 | autospies.com autospies 2 | autotraderclassics.com AutoTrader_com 3 | bikeexif.com bikeexif 4 | dmv.org dmvorg 5 | truedelta.com truedelta 6 | vwvortex.com vwvortex 7 | dealbreaker.com dealbreaker 8 | venturebeat.com venturebeat 9 | wallstcheatsheet.com wallstCS 10 | zerohedge.com zerohedge 11 | globalgrind.com GlobalGrind 12 | guestofaguest.com guestofaguest 13 | gunaxin.com gunaxin 14 | hecklerspray.com hecklerspray 15 | io9.com io9 16 | dlisted.com itsdlisted 17 | kineda.com kineda 18 | jezebel.com mlcalderone 19 | radaronline.com radar_online 20 | starpulse.com starpulse 21 | avclub.com TheAVClub 22 | theurbandaily.com theurbandaily 23 | tmz.com TMZ 24 | toofab.com toofab 25 | uinterview.com uinterview 26 | wetpaint.com wetpainttv 27 | whosdatedwho.com whosdatedwho 28 | x17online.com x17online 29 | starcasm.net starcasm 30 | acidcow.com acidcow 31 | theawl.com awl 32 | brobible.com brobible 33 | screwattack.com screwattack 34 | somethingawful.com somethingawful 35 | theberry.com theberrydotcom 36 | blogher.com blogher 37 | boingboing.net boingboing 38 | eater.com Eater 39 | everyjoe.com everyjoedotcom 40 | flavorwire.com flavorwire 41 | fluther.com fluther 42 | gothamist.com gothamist 43 | kickstarter.com kickstarter 44 | notalwaysright.com notalwaysright 45 | personalliberty.com personalliberty 46 | petapixel.com PetaPixel 47 | ranker.com ranker 48 | seriouseats.com seriouseats 49 | sneakernews.com sneakernews 50 | thechive.com theCHIVE 51 | towleroad.com tlrd 52 | americablog.com americablog 53 | crooksandliars.com crooksandliars 54 | dailykos.com dailykos 55 | politico.com politico 56 | redstate.com RedState 57 | talkingpointsmemo.com tpm 58 | wonkette.com wonkette 59 | thinkprogress.org thinkprogress 60 | kevinandamanda.com kevinandamanda 61 | gearpatrol.com gearpatrol 62 | jalopnik.com jalopnik 63 | mouseplanet.com mouseplanet 64 | 9to5mac.com 9to5mac 65 | afterdawn.com afterdawn 66 | daniweb.com daniweb 67 | lifehacker.com lifehacker 68 | searchengineland.com sengineland 69 | thenextweb.com thenextweb 70 | theverge.com verge 71 | runningshoesguru.com runningshoesgur 72 | uncrate.com uncrate 73 | addictivetips.com addtips 74 | evilbeetgossip.com ebgossip 75 | realityblurred.com realityblurred 76 | rickey.org rickey 77 | prospect.org theprospect 78 | greatschools.org greatschools 79 | movieinsider.com movieinsider 80 | movies.com moviesdotcom 81 | rottentomatoes.com rottentomatoes 82 | artsonia.com artsonia 83 | zvents.com zvents 84 | broadwayworld.com broadwayworld 85 | jambase.com jambase 86 | marcustheatres.com marcus_theatres 87 | activediner.com activediner 88 | bravotv.com Bravotv 89 | cbn.com CBNProducers 90 | clarkhoward.com CLARKHOWARD 91 | drphil.com DRPHIL 92 | eonline.com eonline 93 | ewtn.com ewtn 94 | history.com history 95 | kqed.org KQED 96 | mylifetime.com mylifetime 97 | nbc.com nbc 98 | oprah.com oprah 99 | outdoorchannel.com OutdChannel 100 | oxygen.com oxygen 101 | rachaelrayshow.com rachaelrayshow 102 | sidereel.com sidereel 103 | southparkstudios.com SouthPark 104 | syfy.com syfy 105 | titantv.com titantv 106 | today.com todayshow 107 | tvfanatic.com tvfanatic 108 | televisionwithoutpity.com tvwithoutpity 109 | usanetwork.com usa_network 110 | zap2it.com zap2it 111 | g4tv.com g4tv 112 | movieguide.org movieguide 113 | radiocity.com radiocity 114 | investorplace.com investorplace 115 | forsalebyowner.com forsalebyowner 116 | landwatch.com landwatch 117 | lakehouse.com lakehousedotcom 118 | lotterypost.com lotterypost 119 | teamrankings.com teamrankings 120 | poolhost.com PoolHost_com 121 | boardgamegeek.com boardgamegeek 122 | cheatcodes.com cheatcodes 123 | cheatsguru.com cheatsguru 124 | kotaku.com DavidEllis 125 | destructoid.com destructoid 126 | gamefront.com gamefrontcom 127 | gametrailers.com gametrailers 128 | gamezone.com GameZoneOnline 129 | moddb.com moddb 130 | n4g.com n4g 131 | nintendolife.com nintendolife 132 | operationsports.com operationsports 133 | strategywiki.org strategywiki 134 | escapistmagazine.com TheEscapistMag 135 | twitch.tv twitchtv 136 | vgchartz.com vgchartz 137 | wowwiki.com wowwiki 138 | lolking.net LolKingDotNet 139 | planetminecraft.com planetminecraft 140 | addictinggames.com addictinggames 141 | addictinggames.com addictinggames 142 | hi5.com hi5 143 | wildtangent.com playwildtangent 144 | aq.com artixkrieger 145 | ninjakiwi.com ninjakiwigames 146 | psu.com psudotcom 147 | calorielab.com calorielab 148 | health.com goodhealth 149 | mensfitness.com MensFitness 150 | prevention.com preventionmag 151 | yogajournal.com Yoga_Journal 152 | mydearvalentine.com mydearvalentine 153 | caring.com caring 154 | activebeat.com ActiveBeat 155 | diabetes.org AmDiabetesAssn 156 | autismspeaks.org autismspeaks 157 | blackdoctor.org blackdoctor 158 | dailystrength.org daily_strength 159 | dlife.com dlife 160 | drweil.com drweil 161 | pharmdaily.com pharmdaily 162 | pharmdaily.com pharmdaily 163 | vitals.com Vitals 164 | drugs.com drugscom 165 | blisstree.com blisstreedotcom 166 | bakerella.com bakerella 167 | bigoven.com bigoven 168 | cdkitchen.com CDKitchen 169 | cookinglight.com Cooking_Light 170 | eatingwell.com eatingwell 171 | elanaspantry.com elanaspantry 172 | finecooking.com finecooking 173 | joyofbaking.com joyofbaking 174 | keyingredient.com keyingredient 175 | myrecipes.com my_recipes 176 | simplyrecipes.com simplyrecipes 177 | thekitchn.com TheKitchn 178 | vegetariantimes.com vegtimes 179 | winemag.com wineenthusiast 180 | colourlovers.com colourlovers 181 | craftstylish.com craftstylish 182 | instructables.com instructables 183 | makezine.com make 184 | tipjunkie.com tipjunkie 185 | earth911.com earth911 186 | ecorazzi.com ecorazzi 187 | grist.org grist 188 | mongabay.com mongabay 189 | mnn.com mothernaturenet 190 | treehugger.com TreeHugger 191 | worldwildlife.org world_wildlife 192 | workingmother.com _workingmother_ 193 | akc.org akcdoglovers 194 | babycenter.com BabyCenter 195 | babynames.com babynamesdotcom 196 | babynamewizard.com BabyNameWizard 197 | beliefnet.com beliefnet 198 | collegecandy.com collegecandy 199 | elfster.com elfster 200 | everydayfamily.com Everyday_Family 201 | fitpregnancy.com fitpregnancy 202 | gurl.com gurldotcom 203 | horoscope.com horoscopedotcom 204 | ivillage.com iVillage 205 | justmommies.com justmommies 206 | life123.com life123 207 | lifetips.com lifetips 208 | mademan.com mademan 209 | mamapedia.com mamapedia 210 | mentalfloss.com mental_floss 211 | weegy.com officialweegy 212 | parabebes.com parabebes 213 | patheos.com patheos 214 | shebudgets.com shebudgets 215 | sunset.com SunsetMag 216 | tarot.com tarotcom 217 | womensforum.com womensforum 218 | yourtango.com yourtango 219 | joycemeyer.org joycemeyer 220 | 29secrets.com 29secrets 221 | latest-hairstyles.com latesthair 222 | refinery29.com refinery29 223 | thegloss.com theglossdotcom 224 | trendhunter.com trendhunter 225 | apartmenttherapy.com AptTherapy 226 | myhomeideas.com myhomeideas 227 | break.com breakcom 228 | collegehumor.com CollegeHumor 229 | dorkly.com dorkly 230 | ebaumsworld.com ebaumsworld 231 | gawker.com gawker 232 | godlikeproductions.com glptweets 233 | gocomics.com gocomics 234 | holytaco.com holytaco 235 | izismile.com izismile 236 | listverse.com listverse 237 | quibblo.com Quizzes 238 | roosterteeth.com RoosterTeeth 239 | smosh.com smosh 240 | yourdailymedia.com yourdailymedia 241 | gardenweb.com gardenweb 242 | guitarworld.com guitarworld 243 | lyricsmode.com lyricsmode 244 | pianoworld.com pianoworld 245 | roughstock.com roughstock 246 | songlyrics.com songlyrics 247 | deviantart.com deviantART 248 | glogster.com glogster 249 | laughingsquid.com LaughingSquid 250 | lifetouch.com lifetouch 251 | addictinginfo.org AddInfoOrg 252 | americanthinker.com americanthinker 253 | usconstitution.net ezoic 254 | thegatewaypundit.com GenOpportunity 255 | humanevents.com humanevents 256 | humanevents.com humanevents 257 | mrconservative.com MrConservative_ 258 | nationalreview.com nro 259 | politicalwire.com politicalwire 260 | politicususa.com politicususa 261 | politifact.com politifact 262 | rushlimbaugh.com rushlimbaugh 263 | upworthy.com upworthy 264 | weeklystandard.com weeklystandard 265 | wheresgeorge.com wheresgeorge 266 | comicbookresources.com cbr 267 | goodreads.com goodreads 268 | webelements.com periodic_table 269 | popsci.com PopSci 270 | sciencebuddies.org ScienceBuddies 271 | sciencedaily.com sciencedaily 272 | tested.com testedcom 273 | universetoday.com universetoday 274 | androidcentral.com androidcentral 275 | appleinsider.com appleinsider 276 | dvice.com dvice 277 | gizmodo.com gizmodo 278 | hackaday.com hackaday 279 | howtogeek.com howtogeeksite 280 | infoworld.com infoworld 281 | theinquirer.net INQ 282 | itworld.com itworld 283 | macrumors.com MacRumors 284 | technologyreview.com techreview 285 | thetech.org TheTechMuseum 286 | techreport.com thetechreport 287 | freekibble.com freekibble 288 | redcross.org redcross 289 | takepart.com takepart 290 | movie-moron.com AstroRobby 291 | bettyconfidential.com bettybuzz 292 | clker.com clkercom 293 | cutoutandkeep.net cutoutandkeep 294 | dickmorris.com DickMorrisTweet 295 | dornob.com dornobdesign 296 | crochetpatterncentral.com ezoic 297 | knittingpatterncentral.com ezoic 298 | fredmiranda.com fredmirandacom 299 | grandparents.com grandparentscom 300 | lookbook.nu lookbook 301 | construction.com mhconstruction 302 | pregnancy.org pregnancyorg 303 | publishersweekly.com PublishersWkly 304 | quizfarm.com quizfarm 305 | regretfulmorning.com regretfulmorn 306 | religioustolerance.org ReligiousTol 307 | hannity.com seanhannity 308 | doggies.com theDogDen 309 | aish.com yourjudaism 310 | 4shared.com 4shared 311 | hiphopdx.com hiphopdx 312 | hotnewhiphop.com hotnewhiphop 313 | kididdles.com kididdles 314 | livemixtapes.com livemixtapes 315 | okayplayer.com okayplayer 316 | songza.com songza 317 | soundclick.com soundclick 318 | taylorswift.com taylorswift13 319 | twit.tv twit 320 | wetransfer.com wetransfer 321 | 8tracks.com 8tracks 322 | broadcastify.com broadcastify 323 | coasttocoastam.com coasttocoastam 324 | elvisduran.com ElvisDuranShow 325 | kcrw.com kcrw 326 | live365.com live365 327 | radioreference.com radioreference 328 | tunegenie.com tunegenie 329 | tunein.com tunein 330 | weei.com WEEI 331 | z100.com z100 332 | bigthink.com bigthink 333 | blip.tv blip 334 | contactmusic.com Contactmusic 335 | devour.com devour 336 | flixxy.com flixxydotcom 337 | grindtv.com GrindTV 338 | irokotv.com irokotv 339 | justin.tv justintv 340 | metacafe.com Metacafe 341 | ovguide.com OVGuide 342 | powerblocktv.com powerblocktv 343 | snotr.com snotr 344 | streetfire.net Streetfire 345 | videobash.com videobash 346 | music-lyrics-gospel.com ezoic 347 | killsometime.com killsometimecom 348 | newscientist.com newscientist 349 | adage.com adage 350 | adweek.com adweek 351 | allyou.com allyou 352 | alternet.org AlterNet 353 | athlonsports.com athlonsports 354 | celebritytoob.com celebritytoob 355 | celebritytoob.com celebritytoob 356 | chicagomag.com chicagomag 357 | dimemag.com dimemag 358 | ew.com ew 359 | fieldandstream.com fieldandstream 360 | gossiponthis.com gossiponthis 361 | instyle.com InStyle 362 | lonny.com lonnymag 363 | mania.com mania 364 | maxim.com maximmag 365 | pagesix.com pagesix 366 | pastemagazine.com pastemagazine 367 | peopleenespanol.com peopleenespanol 368 | people.com peoplemag 369 | realsimple.com RealSimple 370 | reason.com reason 371 | rollingstone.com rollingstone 372 | salon.com salon 373 | slamonline.com slamonline 374 | southernliving.com southern_living 375 | stylebistro.com stylebistro 376 | teenidols4you.com teenidols4you 377 | thenation.com THENATION 378 | theweek.com theweek 379 | usmagazine.com usweekly 380 | vibe.com vibemagazine 381 | weeklyworldnews.com weeklyworldnews 382 | womenshealthmag.com WomensHealthMag 383 | 247wallst.com 247wallst 384 | abc15.com abc15 385 | abc2news.com abc2news 386 | abcactionnews.com abcactionnews 387 | accesshollywood.com accesshollywood 388 | advfn.com advfn 389 | ajc.com ajc 390 | al.com aldotcom 391 | allafrica.com allafrica 392 | alltop.com alltop 393 | animenewsnetwork.com anime 394 | arkansasonline.com arkansasonline 395 | arktimes.com arktimes 396 | austinchronicle.com austinchronicle 397 | azcentral.com azcentral 398 | azfamily.com azfamily 399 | berkshireeagle.com berkshireeagle 400 | billingsgazette.com billingsgazette 401 | bleacherreport.com bleacherreport 402 | breakingnews.com breakingnews 403 | nbcnews.com breakingnews 404 | socialmediatoday.com britopian 405 | nbcsports.com CBTonNBC 406 | chicoer.com chicoer 407 | citypages.com citypages 408 | cleveland.com clevelanddotcom 409 | cnbc.com cnbc 410 | cnsnews.com cnsnews 411 | courierpress.com courierpress 412 | csmonitor.com CSMonitor 413 | trib.com cstribune 414 | dailycaller.com dailycaller 415 | dailycamera.com dailycamera 416 | darkhorizons.com darkhorizons 417 | daytondailynews.com daytondailynews 418 | washingtonexaminer.com dcexaminer 419 | delcotimes.com delcotimes 420 | denverpost.com denverpost 421 | westword.com denverwestword 422 | deseretnews.com deseretnews 423 | digitalspy.com digitalspyus 424 | djournal.com djournal 425 | drudgereport.com DRUDGE 426 | elnuevoherald.com elnuevoherald 427 | elpasotimes.com elpasotimes 428 | eurweb.com eurweb 429 | fark.com fark 430 | flightstats.com flightstats 431 | fortmilltimes.com fortmilltimes 432 | foxsports.com foxsports 433 | fresnobee.com fresnobee 434 | glennbeck.com glennbeck 435 | globegazette.com globegazette 436 | hanfordsentinel.com hanfordsentinel 437 | heraldextra.com heraldextra 438 | kentucky.com heraldleader 439 | heraldnet.com heraldnet 440 | hitfix.com hitfix 441 | houstonpress.com houstonpress 442 | oregonlive.com hssports_olive 443 | hutchnews.com hutchnews 444 | independent.co.uk Independent 445 | inforum.com inforum 446 | insidebayarea.com insidebayarea 447 | islandpacket.com islandpacket 448 | jamaicaobserver.com jamaicaobserver 449 | journalstar.com JournalStarNews 450 | journaltimes.com journaltimes 451 | kansas.com kansasdotcom 452 | kcrg.com kcrg 453 | kiplinger.com kiplinger 454 | knoxnews.com knoxnews 455 | ktvu.com ktvu 456 | lacrossetribune.com lacrossetribune 457 | dailynews.com ladailynews 458 | laist.com laist 459 | lancasteronline.com lancasteronline 460 | larrybrownsports.com LBSports 461 | legacy.com LegacyObits 462 | lehighvalleylive.com lehighvalley 463 | liveleak.com liveleak 464 | ljworld.com ljworld 465 | macombdaily.com macombdaily 466 | masslive.com MassLiveHS 467 | mcclatchydc.com McClatchyDC 468 | mediotiempo.com mediotiempo 469 | mhsaa.com mhsaa 470 | miamiherald.com miamiherald 471 | miaminewtimes.com miaminewtimes 472 | minyanville.com minyanville 473 | mlive.com mlive 474 | modbee.com modbee 475 | montereyherald.com montereyherald 476 | mtstandard.com mtstandard 477 | mydailymoment.com mydailymoment 478 | nashvillescene.com nashvillescene 479 | nationalgeographic.com NatGeo 480 | nbcbayarea.com nbcbayarea 481 | nbcconnecticut.com nbcconnecticut 482 | nbcdfw.com nbcdfw 483 | nbcwashington.com nbcwashington 484 | nesn.com nesn 485 | newburyportnews.com newburyportnews 486 | news9.com news9 487 | newsbusters.org newsbusters 488 | newsobserver.com newsobserver 489 | newsok.com newsok 490 | newson6.com newson6 491 | newstribune.com newstribune 492 | nj.com njdotcom 493 | nola.com nolanews 494 | wn.com NTDTelevision 495 | nwitimes.com nwi 496 | nydailynews.com nydailynews 497 | omaha.com OWHnews 498 | pantagraph.com pantagraph 499 | pennlive.com pennlive 500 | phoenixnewtimes.com phoenixnewtimes 501 | thepostgame.com Post_Game 502 | postandcourier.com postandcourier 503 | poststar.com poststar 504 | presstelegram.com presstelegram 505 | rantsports.com RantSports 506 | rawstory.com rawstory 507 | rapidcityjournal.com RCJournal 508 | registerguard.com registerguard 509 | riverfronttimes.com riverfronttimes 510 | deadspin.com RonFrancis10 511 | timesdispatch.com rtdnews 512 | salemnews.com salemnews 513 | salisburypost.com salisburypost 514 | santamariatimes.com santamariatimes 515 | satelliteguys.us satelliteguys 516 | sbsun.com sbsun 517 | tdn.com ScotHeisel 518 | sandiegoreader.com sdreader 519 | seattletimes.com seattletimes 520 | sfweekly.com sfweekly 521 | sgvtribune.com sgvtribune 522 | silive.com silivedotcom 523 | sanluisobispo.com slotribune 524 | sportsgrid.com sportsgrid 525 | azstarnet.com starnet 526 | startribune.com startribune 527 | statesman.com statesman 528 | stltoday.com stltoday 529 | thestranger.com strangerpromo 530 | streetinsider.com Street_Insider 531 | streetauthority.com streetauthority 532 | sugarscape.com sugarscape 533 | sunherald.com sunherald 534 | surfline.com surfline 535 | syracuse.com syracusedotcom 536 | tcpalm.com tcpalm 537 | teen.com teen 538 | theadvocate.com theadvocate 539 | economist.com TheEconomist 540 | thefiscaltimes.com thefiscaltimes 541 | thegrio.com theGrio 542 | thehill.com thehill 543 | theindychannel.com theindychannel 544 | thenewstribune.com thenewstribune 545 | theoaklandpress.com theoaklandpress 546 | charlotteobserver.com theobserver 547 | theolympian.com theolympian 548 | theonion.com TheOnion 549 | thesouthern.com thesouthern 550 | thestate.com thestate 551 | thesunchronicle.com thesunchronicle 552 | thetandd.com thetandd 553 | abovethelaw.com TLLB2013 554 | topspeed.com topspeed 555 | triblive.com triblive 556 | tribstar.com tribstar 557 | tulsaworld.com tulsaworld 558 | vagazette.com vagazette 559 | vcstar.com vcstar 560 | villagevoice.com villagevoice 561 | wcfcourier.com wcfcourier 562 | washingtoncitypaper.com wcp 563 | wcpo.com wcpo 564 | newsnet5.com wews 565 | wfmz.com wfmztraffic 566 | wftv.com wftv 567 | wgbh.org WGBH 568 | whittierdailynews.com WhittierNews 569 | wkyt.com WKYT 570 | wndu.com wndu 571 | wnd.com worldnetdaily 572 | wowt.com WOWT6News 573 | wptv.com wptv 574 | wsaz.com wsaz 575 | wsbtv.com wsbtv 576 | wsoctv.com WSOC_TV 577 | washingtontimes.com WTCommunities 578 | wxyz.com wxyzdetroit 579 | yardbarker.com Yardbarker 580 | zimbio.com zimbio 581 | firsttoknow.com befirsttoknow 582 | examiner.com examinercom 583 | newser.com Newser 584 | inquisitr.com theinquisitr 585 | topix.com topix 586 | truthdig.com truthdig 587 | whatculture.com whatculture 588 | davisenterprise.com alldenews 589 | bismarcktribune.com bistrib 590 | blastr.com blastr 591 | chicagoreader.com Chicago_Reader 592 | cio.com CIOonline 593 | citypaper.com city_paper 594 | dailybreeze.com DailyBreezeNews 595 | dfw.com dfwdotcom 596 | democratherald.com dhnews 597 | duluthnewstribune.com duluthnews 598 | eagletribune.com EagleTrib 599 | fredericknewspost.com FNP_espanol 600 | fortwayne.com FortWayne_com 601 | gazette.net Gazette_Net 602 | golfweek.com GolfweekMag 603 | gazettetimes.com gtnews 604 | helenair.com helenaironline 605 | herald-review.com heraldandreview 606 | hispanicbusiness.com HispanicBizMag 607 | dailybulletin.com ivdailybulletin 608 | johnsoncitypress.com JCPress 609 | kirotv.com KIRO7Seattle 610 | kxly.com kxly4news 611 | lowellsun.com lowellsunnews 612 | pottsmerc.com MercuryX 613 | miami.com Miamicom 614 | commentarymagazine.com mrubin1971 615 | napavalleyregister.com NapaRegister 616 | nationalenquirer.com NatEnquirer 617 | nbcmiami.com nbc6 618 | nbclosangeles.com nbcla 619 | naplesnews.com ndn 620 | news-gazette.com news_gazette 621 | fredericksburg.com NewsInTheBurg 622 | news-sentinel.com newssentinel 623 | onenewspage.com One_News_Page 624 | observer-reporter.com oronline 625 | palmbeachpost.com pbpost 626 | pinknews.co.uk PinkNews 627 | powdermag.com powdermagazine 628 | qctimes.com qctimes 629 | rasmussenreports.com Rasmussen_Poll 630 | bestofneworleans.com search 631 | auburnpub.com The_Citizen 632 | anorak.co.uk TheAnorak 633 | magicvalley.com twinfallstn 634 | cakecentral.com cakecentral 635 | foodgawker.com foodgawker 636 | findthebest.com findthebest 637 | johnsonville.com JvilleKitchens 638 | cvent.com cvent 639 | ihigh.com ihigh 640 | pbworks.com pbworks 641 | obeo.com Obeo 642 | bismanonline.com bismanonline 643 | elclasificado.com elclasificado 644 | encuentra24.com encuentra24 645 | geebo.com gregcollier 646 | gunbroker.com GunBroker 647 | icollector.com icollector 648 | ioffer.com ioffer 649 | purplewave.com purplewave 650 | shopgoodwill.com shopgoodwill 651 | alibris.com alibris 652 | dummies.com fordummies 653 | aarons.com AaronsInc 654 | mobileburn.com mobileburn 655 | solidsignal.com SolidSignalCom 656 | fandango.com fandango 657 | giantfoodstores.com giantfoodstores 658 | bandcamp.com bandcamp 659 | cinemablend.com cinemablend 660 | finegardening.com finegardening 661 | mowersdirect.com mowersdirect 662 | wayfair.com wayfair 663 | kicksonfire.com kicksonfire 664 | pickyourshoes.com pickyourshoes 665 | airsoftgi.com airsoftgi 666 | artfire.com Artfire 667 | equinenow.com equinenow 668 | mycomicshop.com mycomicshop 669 | mywedding.com myweddingdotcom 670 | zibbet.com zibbet 671 | mtbr.com mtbr 672 | allaboutdance.com all_about_dance 673 | rackroomshoes.com rackroomshoes 674 | baseballamerica.com baseballamerica 675 | mlbdailydish.com mlbdailydish 676 | insidehoops.com insidehoops 677 | kusports.com kusports 678 | yalebulldogs.com YaleAthletics 679 | fftoolbox.com fftoolbox 680 | fftoolbox.com fftoolbox 681 | rotoworld.com rotoworld_bb 682 | 247sports.com 247Sports 683 | colts.com colts 684 | golfchannel.com GolfChannel 685 | golfwrx.com golfwrx 686 | golf.com si_golf 687 | worldgolf.com worldgolf 688 | nhl.com nhl 689 | athletic.net AthleticNet 690 | fansided.com fansided 691 | outdoorlife.com outdoorlife 692 | outsports.com outsports 693 | milesplit.com milesplit 694 | mmafighting.com MMAFighting 695 | mmamania.com mmamania 696 | livesoccertv.com livesoccertv 697 | usta.com usta 698 | marathonguide.com MarathonGdotcom 699 | mmaweekly.com mmaweeklycom 700 | alcatrazcruises.com alcatrazcruises 701 | brownstoner.com brownstoner 702 | colorado.com colorado 703 | desertusa.com desertusa 704 | thefuntimesguide.com FunTimesGuide 705 | laweekly.com laweekly 706 | louisianatravel.com louisianatravel 707 | tnvacation.com tnvacation 708 | travelok.com travelok 709 | travelwisconsin.com TravelWI 710 | visitflorida.com visitflorida 711 | visitpa.com visitpa 712 | washingtonian.com washingtonian 713 | yankeemagazine.com yankeemagazine 714 | shermanstravel.com shermanstravel 715 | luxurylink.com luxurylink 716 | sixflags.com sixflags 717 | fodors.com fodorstravel 718 | frommers.com FrommersTravel 719 | flightaware.com flightaware 720 | bedandbreakfast.com bnblovers 721 | dallasobserver.com dallas_observer 722 | nyc.com newyorkcity 723 | nycgovparks.org nycparks 724 | oyster.com oysterhotels 725 | michigan.org puremichigan 726 | crackberry.com CrackBerry 727 | everythingicafe.com everythingicafe 728 | youmail.com youmail 729 | myxer.com myxer 730 | 1011now.com 1011_News 731 | 11points.com 11points 732 | 140proof.com 140proof 733 | vanishingtattoo.com 1tattootribe 734 | indianasnewscenter.com 21AliveWPTA 735 | digsdigs.com 2digs 736 | 2dopeboyz.com 2dopeposts 737 | 365greetings.com 365greetings 738 | 5dollardinners.com 5dollardinners 739 | 5gig.com 5gig 740 | wwnytv.com 7newsfox28 741 | 7x7.com 7x7 742 | 813area.com 813area 743 | 92q.com 92QJamsBmore 744 | 937thebull.com 937thebull 745 | kysdc.com 939wkys 746 | theboxhouston.com 979thebox 747 | 9to5google.com 9to5google 748 | 9to5toys.com 9to5toys 749 | kvia.com abc7breaking 750 | abesmarket.com abesmarket 751 | acmepackingcompany.com acmepackingco 752 | actionnewsjax.com actionnewsjax 753 | addictedtoquack.com addictedtoquack 754 | afamilyfeast.com afamilyfeast 755 | allaccess.com allaccess 756 | alleydog.com alleydog_dotcom 757 | allfortennessee.com allfortennessee 758 | alligatorarmy.com alligatorarmy 759 | allkidsnetwork.com allkidsnetwork 760 | alphamom.com alphamom 761 | altpress.com altpress 762 | at40.com AmericanTop40 763 | ammoland.com ammoland 764 | ammoseek.com ammoseek 765 | anabolicminds.com anabolicminds 766 | ancientfaces.com ancientfaces 767 | androidpolice.com AndroidPolice 768 | androidtablets.net androidtablet 769 | anediblemosaic.com anediblemosaic 770 | animalnewyork.com animalnewyork 771 | appadvice.com appadvice 772 | appshopper.com appshopper 773 | aqha.com aqha 774 | archdaily.com archdaily 775 | archinect.com archinect 776 | areavoices.com areavoices 777 | arlnow.com ARLnowDOTcom 778 | arrowheadaddict.com arrowheadaddict 779 | arrowheadpride.com arrowheadpride 780 | artistserver.com artistserver 781 | artofmanliness.com artofmanliness 782 | askamanager.org askamanager 783 | askubuntu.com askubuntu 784 | straightfromthea.com ATLien 785 | austinist.com austinist 786 | aviewfrommyseat.com aviewfrommyseat 787 | awfulannouncing.com awfulannouncing 788 | a-z-animals.com azanimals 789 | buckys5thquarter.com B5Q 790 | baby2see.com Baby2see 791 | babynamegenie.com babynamegenie 792 | badappreviews.com badappreviews 793 | badassdigest.com badassdigest 794 | badlefthook.com badlefthook 795 | balleralert.com balleralert 796 | ballerstatus.com ballerstatus 797 | bassmaster.com BASS_nation 798 | bassresource.com bassresourcecom 799 | batman-news.com BatmanNewsCom 800 | battleredblog.com battleredblog 801 | beacontheatre.com beacontheatre 802 | beautyrest.com beautyrest 803 | belletire.com belletire 804 | berecruited.com beRecruited 805 | berkeleyside.com berkeleyside 806 | bestteenpoems.com bestteenpoems 807 | betcheslovethis.com betcheslovethis 808 | bethenny.com bethenny 809 | boltsfromtheblue.com BFTB_Chargers 810 | blackgirllonghair.com bglhonline 811 | biggirlssmallkitchen.com BGSK 812 | bigblueview.com bigblueview 813 | bigcatcountry.com bigcatcountry 814 | bikerumor.com bikerumor 815 | bilerico.com bilerico 816 | billhighway.com billhighway 817 | billyjoel.com billyjoel 818 | bizpacreview.com BIZPACReview 819 | brooklynflea.com bkflea 820 | thewirecutter.com blam 821 | blazersedge.com blazersedge 822 | bleedinggreennation.com BleedingGreen 823 | blessyouboys.com blessyouboys 824 | bloggingtheboys.com bloggingtheboys 825 | blogmybrain.com blogmybrain 826 | bloguin.com bloguin 827 | bloodyelbow.com BloodyElbow 828 | boardingarea.com boardingarea 829 | bobborst.com bobborst 830 | boiseweekly.com boiseweekly 831 | boldride.com boldride 832 | bookriot.com bookriot 833 | burntorangereport.com bor 834 | bostonmagazine.com BostonMagazine 835 | brandeating.com brandeating 836 | brevilleusa.com brevilleusa 837 | brickset.com brickset 838 | bridalguide.com bridalguidemag 839 | brightnest.com brightnest 840 | brightscope.com brightscope 841 | bringatrailer.com bringatrailer 842 | brokelyn.com brokelyn 843 | bromygod.com BroMyGawd 844 | bruinsnation.com BruinNation 845 | bubblynaturecreations.com BubblyNature 846 | bucsnation.com Bucs_Nation 847 | budget101.com budget101 848 | buffalorumblings.com BuffRumblings 849 | bulletproofexec.com bulletproofexec 850 | bustedcoverage.com bustedcoverage 851 | cablemover.com cablemover 852 | cagepotato.com cagepotatomma 853 | cagesideseats.com cagesideseats 854 | cakesdecor.com cakesdecor 855 | camelcamelcamel.com camelcamelcamel 856 | cannabis.com cannabis_com 857 | canonrumors.com canonrumorsguy 858 | capitalnewyork.com capitalnewyork 859 | carbonated.tv carbonatedtv 860 | cardchronicle.com cardchronicle 861 | carolinalive.com carolinalive 862 | deliciouslyorganic.net CarrieVitt 863 | carrotsncake.com carrotsncake 864 | catscratchreader.com CatScratchReadr 865 | newsplex.com CBS19 866 | celiaccentral.org CeliacAwareness 867 | celinedion.com celinedion 868 | celticsblog.com celticsblog 869 | channelguidemagblog.com ChannelGuide 870 | charismamag.com charismamag 871 | checkiday.com checkiday 872 | chickensintheroad.com ChickensintheRd 873 | chinasmack.com chinasmack 874 | choosehelp.com choosehelp 875 | christianacare.org christianacare 876 | christiancinema.com christiancinema 877 | christianforums.com christianforums 878 | cincinnatiusa.com cincinnatiusa 879 | cinemassacre.com cinemassacre 880 | cities2night.com cities2night 881 | clclt.com cl_charlotte 882 | classiccars.com classiccars_com 883 | cleantechnica.com cleantechnica 884 | clevescene.com Cleveland_Scene 885 | closetcooking.com ClosetCooking 886 | clutchfans.net clutchfans 887 | cnycentral.com cnycentral 888 | coastalliving.com coastalliving 889 | collegespun.com CollegeSpun 890 | thisiscolossal.com colossal 891 | comfortablefood.com comfortablefood 892 | comicbook.com ComicBookdotcom 893 | columbiamissourian.com CoMissourian 894 | conceptcarz.com conceptcarz 895 | constantchatter.com constantchatter 896 | cookieandkate.com cookieandkate 897 | coolhunting.com coolhunting 898 | coolmaterial.com coolmaterial 899 | coolmompicks.com coolmompicks 900 | copyblogger.com copyblogger 901 | coreperformance.com coreperformance 902 | cornnation.com cornnation 903 | corporette.com corporette 904 | cougcenter.com cougcenter 905 | countrymusicontour.com countryontour 906 | craftgawker.com craftgawker 907 | creativewithkids.com CreateWithKids 908 | crisismagazine.com CrisisMag 909 | crushable.com crushabledotcom 910 | cupcakeproject.com cupcakeproject 911 | curbed.com Curbed 912 | cutegirlshairstyles.com CuteGirlHair 913 | d3football.com d3football 914 | dailyburn.com dailyburn 915 | dailyinfographic.com DailyInfographc 916 | dailynorseman.com DailyNorseman 917 | dailyhoroscope.com dailyscopes 918 | dance.net dancedotnet 919 | dandb.com dandb 920 | dyslexia.com DavisDyslexia 921 | dawgsbynature.com dawgsbynature 922 | dcist.com dcist 923 | ddotomen.com ddotomen 924 | deadlinedetroit.com deadlinedetroit 925 | debbieschlussel.com debbieschlussel 926 | deliciousobsessions.com deliciousobsess 927 | dezeen.com dezeen 928 | digitalromanceinc.com digital_romance 929 | dinarguru.com dinarguru 930 | dinneralovestory.com DinnerLoveStory 931 | discoverlosangeles.com discoverLA 932 | disinfo.com disinfo 933 | districtlines.com district_lines 934 | thehappierhomemaker.com DIYMelissa 935 | do512.com do512 936 | dodgersnation.com dodgersnation 937 | dollarstorecrafts.com dollarcraft 938 | dormstormer.com dormstormer 939 | my.jobs dotjobsuniverse 940 | downrightnow.com downrightnow 941 | drfranklipman.com drfranklipman 942 | droid-life.com droid_life 943 | dudeiwantthat.com dudeiwantthat 944 | dwell.com dwell 945 | eastbayexpress.com eastbayexpress 946 | eastoftheweb.com eastoftheweb 947 | eatingrules.com eatingrules 948 | eatliverun.com eatliverun 949 | ebizmba.com ebizmba 950 | everydayshouldbesaturday.com edsbs 951 | ehardhat.com ehardhat 952 | electronicmidwest.com electronicmidw 953 | elev8.com elev8official 954 | elevenwarriors.com elevenwarriors 955 | emsworld.com EMSWorldNews 956 | endlesssimmer.com endlesssimmer 957 | engineerjobs.com engineerjobs 958 | escapehere.com escapehere_com 959 | eshakti.com eshakti 960 | eskimopress.com eskimopress 961 | etfdailynews.com etfdailynews 962 | everydaymaven.com everydaymaven 963 | everytrail.com everytrail 964 | exploregeorgia.org exploregeorgia 965 | cummingsstudyguides.net ezoic 966 | ezstream.com ezstream 967 | fakeshoredrive.com fakeshoredrive 968 | fame10.com fame10_com 969 | familyshare.com familyshare 970 | famoushookups.com famoushookups 971 | fanlala.com fanlala 972 | fashionista.com Fashionista_com 973 | fertilethoughts.com fertilethoughts 974 | fertilityauthority.com fertilityauthor 975 | finehomebuilding.com fhbweb 976 | fieldgulls.com fieldgulls 977 | firehouse.com FirehouseNews 978 | firefighternation.com firenation 979 | fishwrapper.com fishwrapped 980 | fitclick.com fitclick 981 | fitsnews.com fitsnews 982 | flexonline.com flex_magazine 983 | flor.com flor 984 | flotrack.org flotrack 985 | flowrestling.org flowrestling 986 | flyingmag.com FlyingMagazine 987 | fashionnstyle.com FNStylecom 988 | handmadecharlotte.com followcharlotte 989 | foodieblogroll.com foodieblogroll 990 | fooducate.com fooducate 991 | nationalfootballpost.com FootballPost 992 | catholicculture.org FormTheCulture 993 | forwardprogressives.com ForwardProgs 994 | fox21news.com fox21news 995 | fox23.com fox23 996 | thefeaturedcreature.com ftcreature 997 | funnyvinevideos.com FunnyVineVids 998 | furiousfanboys.com furiousfanboys 999 | fwd.us fwd_us 1000 | gaf.com gafroofing 1001 | gajitz.com gajitz 1002 | gamedayr.com gamedayr 1003 | gamerescape.com gamerescape 1004 | gamewise.co Gamewise_co 1005 | ganeshaspeaks.com ganeshaspeaks 1006 | goodbullhunting.com GBHunting 1007 | gcaptain.com gcaptain 1008 | gearnuke.com gearnuke 1009 | geekdad.com geekdads 1010 | geeksofdoom.com geeksofdoom 1011 | geekwire.com geekwire 1012 | electricgeneratorsdirect.com GeneratorsDirec 1013 | getcrocked.com getcrocked 1014 | geteventjobs.com geteventjobs 1015 | grandforksherald.com gfherald 1016 | glutenfreeonashoestring.com gfshoestring 1017 | giantlife.com giant_life 1018 | giphy.com giphy 1019 | girlschase.com girlschase 1020 | giveforward.com giveforward 1021 | goodlifeeats.com goodlifeeats 1022 | goodmenproject.com goodmenproject 1023 | goshtube.com goshtube 1024 | gossipextra.com gossipextra 1025 | gourmetrecipe.com Gourmandia 1026 | greatist.com greatist 1027 | greekchat.com greekchat 1028 | greekrank.com greekrank 1029 | greenlitebites.com greenlitebites 1030 | greginhollywood.com greginhollywood 1031 | gtaforums.com gtanet 1032 | gta4.net gtanet 1033 | gtav.net gtanet 1034 | gulflive.com gulflive 1035 | gunssavelives.net Guns_Save_Lives 1036 | hancinema.net hancinema 1037 | hasitleaked.com hasitleaked 1038 | hauteliving.com hauteliving 1039 | hbcudigest.com hbcudigest 1040 | healthyaperture.com healthyaperture 1041 | hellogiggles.com hellogiggles 1042 | hercampus.com hercampus 1043 | higherone.com higherone 1044 | myonemoney.com higherone 1045 | hitchedmag.com hitchedmag 1046 | hodinkee.com hodinkee 1047 | hogshaven.com hogshaven 1048 | hollywoodtake.com hollywoodtake_ 1049 | honeybearlane.com honeybearlane 1050 | honolulumagazine.com honolulumag 1051 | hoosierhomemade.com hoosierhomemade 1052 | horoscopo.com HoroscopeEsp 1053 | shitbrix.com horseheadhuffer 1054 | indyhiphop.com Hot963 1055 | hothothoops.com hothothoops 1056 | bottomlinepublications.com HouseholdMagic 1057 | huskermax.com huskermax 1058 | hustlebelt.com hustlebelt 1059 | hyperallergic.com hyperallergic 1060 | ibtimes.co.in ibtimesindia1 1061 | icy-veins.com icyveinscom 1062 | idesigntimes.com idesigntimes 1063 | ifish.net ifishjennie 1064 | igta5.com iGTA5 1065 | ikeafans.com ikeafans 1066 | illroots.com illroots 1067 | ilpuncut.com ilpvideo 1068 | imore.com iMore 1069 | impactnews.com impactnews 1070 | impactwrestling.com impactwrestling 1071 | indexmundi.com indexmundi 1072 | indiancountrytodaymedianetwork.com indiancountry 1073 | infarrantlycreative.net infarrantly 1074 | insidethehall.com insidethehall 1075 | inthesetimes.com inthesetimesmag 1076 | intothegloss.com intothegloss 1077 | iphoneforums.net iphone4forum 1078 | ireporterstv.co ireporterstv 1079 | irishcentral.com irishcentral 1080 | iseek.org iseekMN 1081 | islamicity.com islamicity 1082 | islands.com islandsmagazine 1083 | itproportal.com itproportal 1084 | itsybitsysteps.com itsybitsysteps 1085 | jamesaltucher.com jaltucher 1086 | theglitterguide.com javascripts 1087 | jewishjournal.com jewishjournal 1088 | myjewishlearning.com jewlearn 1089 | journalgazette.net jgfortwayne 1090 | jobscore.com jobscore 1091 | joonbug.com JoonbugBuzz 1092 | jamespatterson.com JP_Books 1093 | capitolhillseattle.com jseattle 1094 | julieseatsandtreats.com JuliesEatsTreat 1095 | justdogbreeds.com justdogbreeds 1096 | k12reader.com k12reader 1097 | katheats.com katheats 1098 | keenspot.com keenspot 1099 | kellehampton.com kellehampton 1100 | kesq.com kesq 1101 | kfiam640.com kfiam640 1102 | khanapakana.com khanapakana 1103 | khq.com KHQLocalNews 1104 | kicksdeals.com kicksdeals 1105 | kitchenstewardship.com kitchenstew 1106 | kjrh.com kjrh2hd 1107 | klout.com klout 1108 | kmbz.com KMBZradio 1109 | knockoffdecor.com knockoffdecor 1110 | knoworthy.com knoworthy 1111 | kolotv.com KOLO8 1112 | kpvi.com kpvi 1113 | krdo.com KRDONC13 1114 | rageagainsttheminivan.com kristenhowerton 1115 | mynews4.com KRNV 1116 | ktvz.com ktvz 1117 | kveller.com kveller 1118 | kwch.com kwch12 1119 | kwtx.com kwtx 1120 | kxii.com KXIITV 1121 | lapatilla.com la_patilla 1122 | louisianasportsman.com LAhuntnfish 1123 | lakersnation.com lakersnation 1124 | landgrantholyland.com Landgrant33 1125 | landsofamerica.com landsofamerica 1126 | latinpost.com Latin_Post 1127 | latourist.com latourist 1128 | littlehouseliving.com lhliving 1129 | lifeloveandsugar.com Life_Love_Sugar 1130 | lifeandtimes.com lifeandtimes 1131 | likecool.com likecool 1132 | livebinders.com livebinders 1133 | localmemphis.com localmemphis 1134 | localnews8.com localnews8 1135 | logotv.com logotv 1136 | lolfanatic.com LOLFanaticCom 1137 | lombardiave.com lombardiave 1138 | lostlettermen.com lostlettermen 1139 | lostlettermen.com lostlettermen 1140 | lovebscott.com lovebscott 1141 | lovelyish.com lovelyishblog 1142 | lovemaegan.com lovemaegan 1143 | lovemeow.com lovemeowdotcom 1144 | m14forum.com m14forum 1145 | macaronikid.com macaronikid 1146 | macmillandictionary.com macdictionary 1147 | macheesmo.com macheesmo 1148 | maizenbrew.com maizenbrew 1149 | myhoustonmajic.com majic1021 1150 | makeandtakes.com makeandtakes 1151 | malibustrings.com malibustrings 1152 | muscleandfitnesshers.com MandF_Hers 1153 | marinij.com marinij 1154 | marshill.com marshill 1155 | meinmyplace.com meinmyplace 1156 | missinfo.tv mekdot 1157 | mercedsunstar.com mercedsunstar 1158 | messynessychic.com messynessychic 1159 | metroparent.com metroparent 1160 | mgoblog.com mgoblog 1161 | milehighreport.com milehighreport 1162 | minnpost.com minnpost 1163 | medicalmarijuana.com mmdotcom 1164 | mnfootballhub.com mnfootballhub 1165 | minnesotamonthly.com MNMOmag 1166 | modernfarmer.com ModFarm 1167 | mommyish.com mommyishdotcom 1168 | mommyshorts.com mommyshorts 1169 | moneyunder30.com moneyunder30 1170 | mp3boo.com mp3boo 1171 | mrcolionnoir.com mrcolionnoir 1172 | forwhomthecowbelltolls.com mstatesports 1173 | mun2.tv mun2 1174 | musicplayon.com musicplayon 1175 | musingsofamuse.com musingsofamuse 1176 | mwcconnection.com mwcconnection 1177 | myajc.com myajctweets 1178 | myarklamiss.com myarklamiss 1179 | myregistry.com myregistry 1180 | mysticlake.com mysticlake 1181 | nameberry.com nameberry 1182 | nationbuilder.com nationbuilder 1183 | naturallycurly.com NaturallyCurly 1184 | nbc15.com nbc15_madison 1185 | news8000.com news8news 1186 | news92fm.com News92FM 1187 | newschoolers.com newschoolers 1188 | newyork.com newyorkcom 1189 | nextmovie.com NextMovie 1190 | nflspinzone.com nflspinzone 1191 | nextimpulsesports.com nimpulsesports 1192 | ninersnation.com NinersNation 1193 | northlandsnewscenter.com nncnow 1194 | nofilmschool.com nofilmschool 1195 | nomnompaleo.com nomnompaleo 1196 | notcot.org notcot 1197 | notmartha.org notmartha 1198 | nowness.com nowness 1199 | nuggetry.com nuggetry 1200 | numerology.com numerologycom 1201 | nwahomepage.com nwahomepage 1202 | newyorkcomiccon.com NY_Comic_Con 1203 | nyulocal.com nyulocal 1204 | theoatmeal.com oatmeal 1205 | ocweekly.com ocweekly 1206 | ohgizmo.com ohgizmo 1207 | ohhappyday.com ohhappyday 1208 | ohmyveggies.com ohmyveggies 1209 | onlocationvacations.com olv 1210 | omtimes.com omtimes 1211 | oncewed.com oncewed 1212 | onenewspage.us One_News_Page 1213 | onebigphoto.com onebigphoto 1214 | openculture.com openculture 1215 | officialplaystationmagazine.co.uk OPM_UK 1216 | opposingviews.com opposingviews 1217 | orderup.com orderuphq 1218 | organicauthority.com OrganicAuthorit 1219 | ourdailybears.com ourdailybears 1220 | ourlads.com Ourlads_Shonka 1221 | outsideonline.com outsidemagazine 1222 | overthemonster.com overthemonster 1223 | pahomepage.com pahomepage 1224 | passiveaggressivenotes.com panotes 1225 | parentmap.com parentmap 1226 | pastapadre.com pastapadre 1227 | patdollard.com patdollard 1228 | patspulpit.com patspulpit 1229 | pauladeenstore.com pauladeenstore 1230 | paulaschoice.com paulaschoice 1231 | burntorangenation.com PBatBON 1232 | pbr.com pbr 1233 | pcgamesn.com pcgamesn 1234 | pep.ph PEPalerts 1235 | perfectgame.org PerfectGameUSA 1236 | persephonemagazine.com persephone_mag 1237 | petitelefant.com petitelefant 1238 | petstew.com petstew 1239 | pittsburghmagazine.com PGHmagEAT 1240 | thephoblographer.com phoblographer 1241 | phys.org physorg_com 1242 | dailypicksandflicks.com picksandflicks 1243 | pinchmysalt.com pinchmysalt 1244 | pinkberry.com pinkberry 1245 | pinkvilla.com pinkvilla 1246 | pinstripealley.com pinstripealley 1247 | pocketchangegourmet.com PktChangGourmet 1248 | playbill.com playbill 1249 | playboy.com playboydotcom 1250 | pocketables.com pocketables 1251 | pocketfives.com pocketfives 1252 | podbean.com podbean_com 1253 | pokecommunity.com pokecommunity 1254 | pokernews.com pokernews 1255 | portlandmonthlymag.com PoMoMagazine 1256 | popphoto.com popphoto 1257 | popville.com popville 1258 | mycolumbuspower.com power1075 1259 | practicallyfunctional.com PracticallyF 1260 | praisephilly.com praisephilly 1261 | pregnantchicken.com pregnantchicken 1262 | prekinders.com prekinders 1263 | prideofdetroit.com prideofdetroit 1264 | primalpalate.com primalpalate 1265 | primaryarms.com primaryarms 1266 | profilerehab.com profilerehab 1267 | projectnursery.com projectnursery 1268 | promotive.com promotive 1269 | prowrestling.net prowrestlingnet 1270 | prudentbaby.com prudentbaby 1271 | ps3news.com PS3NewsDOTcom 1272 | planetsave.com psave 1273 | blacksportsonline.com PSicher 1274 | psychologytoday.com psychtoday 1275 | ptable.com ptable 1276 | ptotoday.com ptotoday 1277 | pwtorch.com pwtorch 1278 | queerty.com queerty 1279 | racked.com Racked 1280 | rantlifestyle.com RantLifestyle 1281 | redtri.com Red_Tricycle 1282 | redalertpolitics.com RedAlert 1283 | redflagnews.com redflagnews 1284 | refinedhype.com refinedhype 1285 | rentjungle.com rentjungle 1286 | rentrange.com rentrange 1287 | instagr.in renzyyy 1288 | retrorenovation.com retrorenovation 1289 | returnofkings.com returnofkings 1290 | revengeofthebirds.com revengeofbirds 1291 | amazingribs.com ribguy 1292 | richmond.com richmonddotcom 1293 | rightthisminute.com rightthisminute 1294 | rigzone.com rigzone 1295 | riveraveblues.com riveraveblues 1296 | riversideonline.com riversideonline 1297 | realmenrealstyle.com rmrstyle 1298 | rnbxclusive.se RnBXclusive_v3 1299 | roadbikereview.com roadbikereview 1300 | roadkillcustoms.com roadkillcustoms 1301 | rolereboot.org rolereboot 1302 | rollbamaroll.com rollbamaroll 1303 | jimromenesko.com romenesko 1304 | runningintheusa.com RunningInTheUSA 1305 | rusticweddingchic.com rusticwedchic 1306 | sacurrent.com sacurrent 1307 | canalstreetchronicles.com SaintsCSC 1308 | sanduskyregister.com sanduskyregistr 1309 | sanjeevkapoor.com sanjeevkapoor 1310 | santikos.com santikos 1311 | saveur.com saveurmag 1312 | savorysweetlife.com savorysweetlife 1313 | independent.com SBIndpndnt 1314 | sbnation.com sbnation 1315 | scoringlive.com scoringlive 1316 | screenjunkies.com screenjunkies 1317 | scribd.com scribd 1318 | saturdaydownsouth.com SDS 1319 | clatl.com search 1320 | paloaltoonline.com search 1321 | seattlemet.com seattlemet 1322 | selectism.com selectism 1323 | truckertotrucker.com semitrucks 1324 | sew4home.com sew4home 1325 | sfappeal.com sfappeal 1326 | sfbg.com sfbg 1327 | sfstation.com sfstation 1328 | shaggybevo.com shaggybevo 1329 | shanghaiist.com shanghaiist 1330 | shanty-2-chic.com shanty2chic 1331 | shapeways.com shapeways 1332 | shiftgig.com shiftgig 1333 | shopwell.com shopwell 1334 | sigtalk.com sigtalk 1335 | siliconangle.com siliconangle 1336 | silverandblackpride.com silverandblackp 1337 | simplebites.net simplebites 1338 | somewhatsimple.com SimpleStephD 1339 | singletracks.com singletrackscom 1340 | thelandryhat.com sinow 1341 | slantmagazine.com slant_magazine 1342 | thesleuthjournal.com sleuthjournal 1343 | slowtwitch.com slowtwitch 1344 | socialmediaexaminer.com smexaminer 1345 | smithsonianmag.com SmithsonianMag 1346 | snapwidget.com snapwidget 1347 | sneakhype.com sneakhype 1348 | awsm.com soawsm 1349 | societyofchic.com societyofchic 1350 | societyandreligion.com SocietyR 1351 | sofrep.com sofrep 1352 | thespacelab.tv SpacelabMusic 1353 | spiritnow.com spiritnow 1354 | sweetpeaskitchen.com SPKitchen 1355 | splitsider.com splitsider 1356 | spoilertv.com spoilertv 1357 | spoonforkbacon.com spoonforkbacon 1358 | sportschatplace.com sportschatplace 1359 | sportsoverdose.com sportsoverdose 1360 | sportsvite.com sportsvite 1361 | spotzot.com spotzot 1362 | stampedeblue.com stampedeblue 1363 | stripes.com starsandstripes 1364 | statecollege.com StateCollegecom 1365 | statesymbolsusa.org StateSymbolsUSA 1366 | statisticbrain.com statisticbrain 1367 | statuecruises.com statuecruises 1368 | stayclassy.org stayclassysd 1369 | stealherstyle.net stealherstyle_ 1370 | apstudynotes.org StudyNotesApp 1371 | styleblueprint.com styleblueprint 1372 | styleite.com styleite 1373 | styleweekly.com styleweekly 1374 | summertomato.com summertomato 1375 | supercook.com super_cook 1376 | surfermag.com SURFER_Magazine 1377 | surfingmagazine.com surfingmagazine 1378 | surnamedb.com surnamedb 1379 | svpply.com svpply 1380 | sweetopia.net Sweetopia 1381 | tabletmag.com tabletmag 1382 | takelessons.com takelessons 1383 | talkingchop.com talkingchop 1384 | tapastic.com tapastic 1385 | tasteandtellblog.com tasteandtell 1386 | tastespotting.com tastespotting 1387 | tdpri.com tdpri 1388 | slader.com teamslader 1389 | teamspeedkills.com teamspeedkills 1390 | technologytell.com technologytell 1391 | temptalia.com temptalia 1392 | tennisrecruiting.net TennisRecNet 1393 | texashsfootball.com texashsfootball 1394 | thatsnonsense.com thatsnonsense 1395 | theinertia.com the_inertia 1396 | therapinsider.com the_rap_insider 1397 | thebacklot.com thebacklot 1398 | thebeatdfw.com thebeatdfw 1399 | thebolditalic.com thebolditalic 1400 | thebudgetbabe.com thebudgetbabe 1401 | thecutekid.com thecutekid 1402 | thedailybanter.com thedailybanter 1403 | dailycurrant.com TheDailyCurrant 1404 | thedissolve.com thedissolve 1405 | theeverygirl.com TheEverygirl_ 1406 | thefader.com thefader 1407 | thefalcoholic.com thefalcoholic 1408 | thefreshloaf.com thefreshloaf 1409 | theinspiredroom.net theinspiredroom 1410 | thejasminebrand.com thejasminebrand 1411 | latintimes.com thelatintimes 1412 | thelibertarianrepublic.com thelibrepublic 1413 | thelittlekitchen.net thelittlekitchn 1414 | thelmagazine.com thelmagazine 1415 | themarysue.com TheMarySue 1416 | thephinsider.com thephinsider 1417 | thepointsguy.com thepointsguy 1418 | theresurgence.com theresurgence 1419 | therundown.tv therundown 1420 | theshoegame.com theshoegame 1421 | theuntz.com theuntz 1422 | thezoereport.com thezoereport 1423 | thirstyroots.com thirstyroots 1424 | thisisrnb.com thisisrnb 1425 | thoughtcatalog.com thoughtcatalog 1426 | threadsmagazine.com threadsmagazine 1427 | thyblackman.com thyblackman 1428 | tidymom.net TidyMom 1429 | timetoast.com timetoast 1430 | inflexwetrust.com TimWestwood 1431 | tinyhouseblog.com tinyhouseblog 1432 | tinyhouselistings.com tinyhouselist 1433 | tinyurl.com tinyurl 1434 | nationalreport.net TNROnline 1435 | tomahawknation.com tomahawknation 1436 | tomandlorenzo.com tomandlorenzo 1437 | toonzone.net toonzone 1438 | top5.com topfive 1439 | totallyfreestuff.com topsavings 1440 | totalfratmove.com totalfratmove 1441 | touringplans.com touringplans 1442 | therealdeal.com trdny 1443 | trentonian.com trentonian 1444 | truebluela.com truebluela 1445 | tunefind.com tunefind 1446 | turfshowtimes.com turfshowtimes 1447 | uamshealth.com uamshealth 1448 | ucatholic.com ucatholic 1449 | universalhub.com universalhub 1450 | unlockit.co.nz unlockitconz 1451 | untappedcities.com untappedcities 1452 | upnorthlive.com upnorthlive 1453 | uptownmagazine.com uptownmagazine 1454 | urbandecay.com urbandecay 1455 | usacarry.com usacarry 1456 | usccb.org usccb 1457 | valuewalk.com valuewalk 1458 | verbalcommits.com verbalcommits 1459 | veria.com Veria_Living 1460 | vibrantnation.com vibrantnation 1461 | videomaker.com videomaker 1462 | vosizneias.com vinnews 1463 | visitkc.com visitkc 1464 | visual.ly visually 1465 | vitalmtb.com vitalmtb 1466 | vitalmx.com vitalmx 1467 | vivaelbirdos.com vivaelbirdos 1468 | vocero.com voceropr 1469 | wafflesatnoon.com wafflesatnoon 1470 | wbal.com wbalradio 1471 | wbls.com wbls1075nyc 1472 | wbng.com WBNGActionNews 1473 | dailylocal.com wcdailylocal 1474 | wctv.tv wctv 1475 | watertowndailytimes.com wdtnews 1476 | shewearsmanyhats.com WearsManyHats 1477 | web2carz.com web2carz 1478 | webosnation.com webosnation 1479 | weddinggawker.com weddinggawker 1480 | weddingmapper.com weddingmapper 1481 | weedmaps.com weedmaps 1482 | superskinnyme.com weightloss2go 1483 | westchestermagazine.com westchestermag 1484 | westerndigs.org westerndigs 1485 | totallyloveit.com wetotallyloveit 1486 | wegotthiscovered.com wgtc_site 1487 | wikigameguides.com wikigameguides 1488 | wilx.com WILXTV 1489 | windycitygridiron.com WindyCGridiron 1490 | wired2fish.com wired2fish 1491 | wishesmessages.com wishesmessages 1492 | wissports.net wissportsnet 1493 | witn.com witn 1494 | wjhg.com WJHGTV2 1495 | wktv.com wktv 1496 | womanfreebies.com WomanFreebiesUS 1497 | cartoonjr.com WooJrKids 1498 | workingperson.com workingperson 1499 | wpcentral.com wpcentral 1500 | wrdw.com wrdw 1501 | wsaw.com wsaw 1502 | wtok.com wtoksports 1503 | wweek.com wweek 1504 | elgenero.com WWWELGENERO 1505 | xclusiveszone.net XclusivesZone 1506 | xdtalk.com xdtalk 1507 | christinaaguilera.com xtina 1508 | yorkietalk.com yorkietalk 1509 | youlookfab.com youlookfab 1510 | your4state.com your4state 1511 | your-daily-girl.com Yourdailygirl 1512 | theyeshivaworld.com ywn 1513 | zhiphopcleveland.com Z1079 1514 | zam.com ZAMofficial 1515 | zeldadungeon.net zeldadungeon 1516 | addforums.com addforums 1517 | designsponge.com designsponge 1518 | downtrend.com downtrendcom 1519 | higherone.com higherone 1520 | idigitaltimes.com idigitaltimes 1521 | irishcentral.com irishcentral 1522 | jobamatic.com jobamatic 1523 | kinja.com kinja 1524 | liquor.com liquor 1525 | lyrster.com lyrster 1526 | medicaldaily.com medicaldailycom 1527 | nicoclub.com nicoclub 1528 | ohsheglows.com ohsheglows 1529 | polygon.com polygon 1530 | studyblue.com studyblue 1531 | thechivery.com theCHIVERY 1532 | worthpoint.com worthpoint 1533 | -------------------------------------------------------------------------------- /src/data_collection.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "metadata": { 3 | "name": "", 4 | "signature": "sha256:6f8ec8d8cadf4f1e2969732ccd907ef6a1aec5e010f21d6883aa66e7e0091dc4" 5 | }, 6 | "nbformat": 3, 7 | "nbformat_minor": 0, 8 | "worksheets": [ 9 | { 10 | "cells": [ 11 | { 12 | "cell_type": "heading", 13 | "level": 1, 14 | "metadata": {}, 15 | "source": [ 16 | "Data collection" 17 | ] 18 | }, 19 | { 20 | "cell_type": "markdown", 21 | "metadata": {}, 22 | "source": [ 23 | "Here we provide code used to collect Twitter data for our [AAAI paper](http://www.cs.iit.edu/~culotta/pubs/culotta15predicting.pdf).\n", 24 | "\n", 25 | "Note that to this is a long running process (days) and may result in data that differs from that in the original paper. So, if you're interested in reproducing the results, I'd instead start with the [data_processing.ipynb](https://github.com/tapilab/aaai-2015-demographics/blob/master/src/data_processing.ipynb) notebook.\n", 26 | "\n", 27 | "For each brand in [brands.json](https://github.com/tapilab/aaai-2015-demographics/blob/master/data/brands.json), we collect 300 *followers*. For each of these followers, we collect up to 5,000 of their *friends* (i.e., users they follow).\n", 28 | "\n", 29 | "The results are stored in three pickle files:\n", 30 | "\n", 31 | "- `username2brand.pkl`: a dict from Twitter handle to brand demographics.\n", 32 | "- `id2brand.pkl`: a dict from Twitter user id to brand.\n", 33 | "- `brand2counts.pkl`: a dict from brand Twitter id to a Counter object. The Counter object is a dict from Twitter ID to count, representing the number times a follower of brand X is friends with user Y. E.g., `{123: {456: 10, 789: 5}}` means that of the users who follow 123, 10 also follow 456 and 5 also follow 789.\n", 34 | "\n", 35 | "MongoDB is used to store data for intermediate computations. You may want to distribute calls to `process_followers` and `process_friends` for efficiency." 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "collapsed": false, 41 | "input": [ 42 | "from pymongo import MongoClient\n", 43 | "\n", 44 | "dbconn = MongoClient('localhost', 27017)\n", 45 | "db = dbconn.twitter_demographics\n", 46 | "\n", 47 | "print db" 48 | ], 49 | "language": "python", 50 | "metadata": {}, 51 | "outputs": [ 52 | { 53 | "output_type": "stream", 54 | "stream": "stdout", 55 | "text": [ 56 | "Database(MongoClient('localhost', 27017), u'twitter_demographics')\n" 57 | ] 58 | } 59 | ], 60 | "prompt_number": 1 61 | }, 62 | { 63 | "cell_type": "code", 64 | "collapsed": false, 65 | "input": [ 66 | "import json\n", 67 | "\n", 68 | "#insert twitter credentials into DB\n", 69 | "twitter_cred = db['twitter_cred']\n", 70 | "#remove all before insert\n", 71 | "twitter_cred.remove({})\n", 72 | "with open('../data/twitter-cred.json','r') as f:\n", 73 | " for line in f.readlines():\n", 74 | " user = json.loads(line)\n", 75 | " user['is_taken'] = False\n", 76 | " twitter_cred.insert(user)\n", 77 | "\n", 78 | "print 'Inserted %d users credentails'%(twitter_cred.count()) \n", 79 | "\n" 80 | ], 81 | "language": "python", 82 | "metadata": {}, 83 | "outputs": [ 84 | { 85 | "output_type": "stream", 86 | "stream": "stdout", 87 | "text": [ 88 | "Inserted 4 users credentails\n" 89 | ] 90 | } 91 | ], 92 | "prompt_number": 5 93 | }, 94 | { 95 | "cell_type": "code", 96 | "collapsed": false, 97 | "input": [ 98 | "#insert brand details in to db\n", 99 | "brands = db['brands']\n", 100 | "\n", 101 | "brands.remove({})\n", 102 | "with open('../data/brands.json','r') as f:\n", 103 | " for line in f.readlines():\n", 104 | " brands.insert(eval(line))\n", 105 | " \n", 106 | "print 'Inserted %d brands'%(brands.count())" 107 | ], 108 | "language": "python", 109 | "metadata": {}, 110 | "outputs": [ 111 | { 112 | "output_type": "stream", 113 | "stream": "stdout", 114 | "text": [ 115 | "Inserted 1072 brands\n" 116 | ] 117 | } 118 | ], 119 | "prompt_number": 7 120 | }, 121 | { 122 | "cell_type": "code", 123 | "collapsed": false, 124 | "input": [ 125 | "#helper functions\n", 126 | "def get_credentials():\n", 127 | " \"\"\"Gets twitter credentials from DB \n", 128 | " Returns:\n", 129 | " Respone dict , or None if failed.\n", 130 | " \"\"\"\n", 131 | " twitter_cred = db['twitter_cred']\n", 132 | " return twitter_cred.find_and_modify(query={'is_taken':False}, update={'$set':{'is_taken':True}}, upsert=False, sort=None)\n", 133 | "\n", 134 | "def get_brand_to_process():\n", 135 | " \"\"\"Gets unprocessed brand names from DB\n", 136 | " Returns:\n", 137 | " brand dict or None\n", 138 | " \"\"\"\n", 139 | " brandObj = db['brands']\n", 140 | " brand = brandObj.find_and_modify(query={'is_processed':False,'is_taken':False}, update={'$set':{'is_taken':True}}, upsert=False, sort=None, full_response=False)\n", 141 | " if brand:\n", 142 | " brand['brand_id'] = brand.pop('_id')\n", 143 | " return brand\n", 144 | "\n", 145 | "def get_follower_to_process():\n", 146 | " \"\"\"Gets unprocessed followers form DB\n", 147 | " Returns:\n", 148 | " follower details dict or None\n", 149 | " \"\"\"\n", 150 | " xmatrix = db['xmatrix']\n", 151 | " followersDtls = xmatrix.find_and_modify(query={'is_processed':False,'is_taken':False}, update={'$set':{'is_taken':True}}, upsert=False, sort=None, full_response=False)\n", 152 | " if followersDtls:\n", 153 | " followersDtls['follower_id'] = followersDtls.pop('_id')\n", 154 | " return followersDtls\n", 155 | "\n", 156 | "def add_followers_to_db(brand_id,followers_ids):\n", 157 | " \"\"\"Adds followers to DB\n", 158 | " Args:\n", 159 | " brand_id :brand id of which the user follows\n", 160 | " followers_ids: Ids of followers of the brand\n", 161 | " \"\"\"\n", 162 | " xmatrix = db['xmatrix']\n", 163 | " for follower_id in followers_ids:\n", 164 | " xmatrix.update({'_id':follower_id},{'$addToSet':{'follows':brand_id},'$set':{'is_processed':False,'is_taken':False}},True)\n", 165 | "\n", 166 | "def add_friends_to_dB(follower_id,friends_list):\n", 167 | " \"\"\"Adds friends to DB\n", 168 | " Args:\n", 169 | " follower_id: Id of follower \n", 170 | " freiends : list of his friends\n", 171 | " \"\"\"\n", 172 | " xmatrix = db['xmatrix']\n", 173 | " xmatrix.update({'_id':follower_id},\n", 174 | " {'$addToSet':{\n", 175 | " 'follows':{\n", 176 | " '$each':friends_list\n", 177 | " }\n", 178 | " }\n", 179 | " \n", 180 | " })\n", 181 | "\n", 182 | "def update_processed_flag(user_id):\n", 183 | " \"\"\"updates processed flag to true\n", 184 | " Args:\n", 185 | " user_id: user id for which processed flag to be updated\n", 186 | " \"\"\"\n", 187 | " xmatrix = db['xmatrix']\n", 188 | " xmatrix.update({'_id':user_id},{'$set':{'is_taken':False,'is_processed':True}})\n", 189 | " \n", 190 | "def remove_user_from_x(self,user_id):\n", 191 | " \"\"\"removes user from xmatrix\n", 192 | " Args:\n", 193 | " user_id: user id \n", 194 | " \"\"\"\n", 195 | " xmatrix = db['xmatrix']\n", 196 | " xmatrix.remove({'_id':user_id})\n", 197 | "\n", 198 | "def robust_request(twitter, resource, params, max_tries=5):\n", 199 | " \"\"\" If a Twitter request fails, sleep for 15 minutes.\n", 200 | " Do this at most max_tries times before quitting.\n", 201 | " Args:\n", 202 | " twitter .... A TwitterAPI object.\n", 203 | " resource ... A resource string to request.\n", 204 | " params ..... A parameter dictionary for the request.\n", 205 | " max_tries .. The maximum number of tries to attempt.\n", 206 | " Returns:\n", 207 | " A TwitterResponse object, or None if failed.\n", 208 | " \"\"\"\n", 209 | " for i in range(max_tries):\n", 210 | " request = twitter.request(resource, params)\n", 211 | " if request.status_code == 200:\n", 212 | " return request\n", 213 | " r = [r for r in request][0]\n", 214 | " if ('code' in r and r['code'] == 34) or ('error' in r and r['error'] == 'Not authorized.'): # 34 == user does not exist.\n", 215 | " print >> sys.stderr, 'skipping bad request', resource, params\n", 216 | " return None\n", 217 | " else:\n", 218 | " print >> sys.stderr, 'Got error:', request.text, '\\nsleeping for 15 minutes.'\n", 219 | " sys.stderr.flush()\n", 220 | " time.sleep(60 * 15)\n", 221 | "\n", 222 | "\n", 223 | " " 224 | ], 225 | "language": "python", 226 | "metadata": {}, 227 | "outputs": [], 228 | "prompt_number": 8 229 | }, 230 | { 231 | "cell_type": "code", 232 | "collapsed": false, 233 | "input": [ 234 | "#get twitter obj \n", 235 | "from TwitterAPI import TwitterAPI\n", 236 | "twitter = get_credentials()\n", 237 | "if twitter:\n", 238 | " twitterObj = TwitterAPI(\n", 239 | " twitter['api_key'],\n", 240 | " twitter['api_secret'],\n", 241 | " twitter ['access_token_key'],\n", 242 | " twitter['access_token_secret'])\n", 243 | "else:\n", 244 | " print >> sys.stderr,'Twitter credits not available'" 245 | ], 246 | "language": "python", 247 | "metadata": {}, 248 | "outputs": [], 249 | "prompt_number": 9 250 | }, 251 | { 252 | "cell_type": "code", 253 | "collapsed": false, 254 | "input": [ 255 | "def get_followers(user_id):\n", 256 | " \"\"\"To get followers of given twitter Ids\n", 257 | " Args:\n", 258 | " user_id... twitter user id\n", 259 | " Returns\n", 260 | " followers list\n", 261 | " \"\"\"\n", 262 | " followers = []\n", 263 | " request = robust_request(twitterObj, 'followers/ids',\n", 264 | " {'user_id': user_id, 'count': 300})\n", 265 | " if request:\n", 266 | " for result in request:\n", 267 | " if 'ids' in result:\n", 268 | " followers += result['ids']\n", 269 | " return followers\n", 270 | "\n", 271 | "\n", 272 | "def get_friends(user_id):\n", 273 | " \"\"\"To get friends of given twitter Ids\n", 274 | " Args:\n", 275 | " user_id... twitter user id\n", 276 | " Returns\n", 277 | " friends list\n", 278 | " \"\"\"\n", 279 | " friends = []\n", 280 | " request = robust_request(twitterObj, 'friends/ids',\n", 281 | " {'user_id': user_id, 'count': 5000})\n", 282 | " if request:\n", 283 | " for result in request:\n", 284 | " if 'ids' in result:\n", 285 | " friends += result['ids']\n", 286 | " return friends" 287 | ], 288 | "language": "python", 289 | "metadata": {}, 290 | "outputs": [], 291 | "prompt_number": 10 292 | }, 293 | { 294 | "cell_type": "code", 295 | "collapsed": false, 296 | "input": [ 297 | "#For testing purpose\n", 298 | "#else set it to -1\n", 299 | "cut_off = 3" 300 | ], 301 | "language": "python", 302 | "metadata": {}, 303 | "outputs": [], 304 | "prompt_number": 13 305 | }, 306 | { 307 | "cell_type": "code", 308 | "collapsed": false, 309 | "input": [ 310 | "import sys\n", 311 | "def process_followers():\n", 312 | " \"\"\"Gets unprocessed brands from DB \n", 313 | " fetch 300 followers of those brands and \n", 314 | " adds it to DB. \n", 315 | " Halts when all brands are processed or cutt_off is reached\n", 316 | " \"\"\"\n", 317 | " global cut_off\n", 318 | " while True:\n", 319 | " if cut_off == 0:\n", 320 | " print >> sys.stderr, 'cut off reached'\n", 321 | " break\n", 322 | " cut_off -= 1\n", 323 | " brand = get_brand_to_process()\n", 324 | " if not brand:\n", 325 | " print >> sys.stderr, 'No brands to process'\n", 326 | " break\n", 327 | " followers = get_followers(brand['brand_id'])\n", 328 | " if len(followers) > 0:\n", 329 | " add_followers_to_db(brand['brand_id'],followers)\n", 330 | " print 'added %d followers of %s to DB'%(len(followers),brand['brand_id'])\n", 331 | "process_followers()" 332 | ], 333 | "language": "python", 334 | "metadata": {}, 335 | "outputs": [ 336 | { 337 | "output_type": "stream", 338 | "stream": "stdout", 339 | "text": [ 340 | "added 300 followers of 255784266 to DB\n", 341 | "added 300 followers of 261927470 to DB" 342 | ] 343 | }, 344 | { 345 | "output_type": "stream", 346 | "stream": "stdout", 347 | "text": [ 348 | "\n", 349 | "added 300 followers of 268439864 to DB" 350 | ] 351 | }, 352 | { 353 | "output_type": "stream", 354 | "stream": "stdout", 355 | "text": [ 356 | "\n" 357 | ] 358 | }, 359 | { 360 | "output_type": "stream", 361 | "stream": "stderr", 362 | "text": [ 363 | "cut off reached\n" 364 | ] 365 | } 366 | ], 367 | "prompt_number": 12 368 | }, 369 | { 370 | "cell_type": "code", 371 | "collapsed": false, 372 | "input": [ 373 | "#For testing purpose\n", 374 | "#else set it to -1\n", 375 | "cut_off = 3" 376 | ], 377 | "language": "python", 378 | "metadata": {}, 379 | "outputs": [] 380 | }, 381 | { 382 | "cell_type": "code", 383 | "collapsed": false, 384 | "input": [ 385 | "import sys\n", 386 | "def process_friends():\n", 387 | " \"\"\"Gets unprocessed follower and get \n", 388 | " 5000 of their friends , adds it to DB\n", 389 | " Halts when all followers are processed or cutt_off is reached\n", 390 | " \"\"\"\n", 391 | " global cut_off\n", 392 | " while True:\n", 393 | " if cut_off == 0:\n", 394 | " print >> sys.stderr, 'cut off reached'\n", 395 | " break\n", 396 | " cut_off -= 1\n", 397 | " follower = get_follower_to_process()\n", 398 | " if not follower:\n", 399 | " print >> sys.stderr, 'No follower to process'\n", 400 | " break\n", 401 | " friends = get_friends(str(follower['follower_id']))\n", 402 | " if len(friends) > 0:\n", 403 | " add_friends_to_dB(follower['follower_id'],friends)\n", 404 | " print 'added %d followers of %s to DB'%(len(friends),follower['follower_id'])\n", 405 | " update_processed_flag(str(follower['follower_id']))\n", 406 | " else:\n", 407 | " remove_user_from_x(str(follower['follower_id']))\n", 408 | " print >> sys.stderr, 'removed user , unable to fetch friends list for %s'%(str(follower['follower_id']))\n", 409 | "\n", 410 | "process_friends()\n", 411 | " \n", 412 | " \n", 413 | " " 414 | ], 415 | "language": "python", 416 | "metadata": {}, 417 | "outputs": [ 418 | { 419 | "output_type": "stream", 420 | "stream": "stdout", 421 | "text": [ 422 | "added 763 followers of 2891952572 to DB\n", 423 | "added 571 followers of 2890499755 to DB" 424 | ] 425 | }, 426 | { 427 | "output_type": "stream", 428 | "stream": "stdout", 429 | "text": [ 430 | "\n", 431 | "added 155 followers of 317563215 to DB" 432 | ] 433 | }, 434 | { 435 | "output_type": "stream", 436 | "stream": "stdout", 437 | "text": [ 438 | "\n" 439 | ] 440 | }, 441 | { 442 | "output_type": "stream", 443 | "stream": "stderr", 444 | "text": [ 445 | "cut off reached\n" 446 | ] 447 | } 448 | ], 449 | "prompt_number": 14 450 | }, 451 | { 452 | "cell_type": "code", 453 | "collapsed": false, 454 | "input": [ 455 | "# Get all brands.\n", 456 | "id2brand = dict()\n", 457 | "username2brand = dict()\n", 458 | "for brand in db.brands.find():\n", 459 | " id2brand[brand['_id']] = brand\n", 460 | " username2brand[brand['brand_name'].lower()] = brand\n", 461 | "print 'read', len(id2brand), 'brands'" 462 | ], 463 | "language": "python", 464 | "metadata": {}, 465 | "outputs": [ 466 | { 467 | "output_type": "stream", 468 | "stream": "stdout", 469 | "text": [ 470 | "read 1072 brands\n" 471 | ] 472 | } 473 | ], 474 | "prompt_number": 2 475 | }, 476 | { 477 | "cell_type": "code", 478 | "collapsed": false, 479 | "input": [ 480 | "# Iterate over sampled followers for each brand.\n", 481 | "from collections import Counter, defaultdict\n", 482 | "\n", 483 | "# Count how often each friend appears so we can remove those occuring fewer than N tims.\n", 484 | "friend_counts = Counter()\n", 485 | "count = 0\n", 486 | "for follower in db.xmatrix.find({'is_processed':True}):\n", 487 | " friend_counts.update(follower['follows'])\n", 488 | " count += 1\n", 489 | " if count % 1000 == 0:\n", 490 | " print 'read', count" 491 | ], 492 | "language": "python", 493 | "metadata": {}, 494 | "outputs": [ 495 | { 496 | "output_type": "stream", 497 | "stream": "stdout", 498 | "text": [ 499 | "read 1000\n", 500 | "read" 501 | ] 502 | }, 503 | { 504 | "output_type": "stream", 505 | "stream": "stdout", 506 | "text": [ 507 | " 2000\n", 508 | "read" 509 | ] 510 | }, 511 | { 512 | "output_type": "stream", 513 | "stream": "stdout", 514 | "text": [ 515 | " 3000\n", 516 | "read" 517 | ] 518 | }, 519 | { 520 | "output_type": "stream", 521 | "stream": "stdout", 522 | "text": [ 523 | " 4000\n", 524 | "read" 525 | ] 526 | }, 527 | { 528 | "output_type": "stream", 529 | "stream": "stdout", 530 | "text": [ 531 | " 5000\n", 532 | "read" 533 | ] 534 | }, 535 | { 536 | "output_type": "stream", 537 | "stream": "stdout", 538 | "text": [ 539 | " 6000\n", 540 | "read" 541 | ] 542 | }, 543 | { 544 | "output_type": "stream", 545 | "stream": "stdout", 546 | "text": [ 547 | " 7000\n", 548 | "read" 549 | ] 550 | }, 551 | { 552 | "output_type": "stream", 553 | "stream": "stdout", 554 | "text": [ 555 | " 8000\n", 556 | "read" 557 | ] 558 | }, 559 | { 560 | "output_type": "stream", 561 | "stream": "stdout", 562 | "text": [ 563 | " 9000\n", 564 | "read" 565 | ] 566 | }, 567 | { 568 | "output_type": "stream", 569 | "stream": "stdout", 570 | "text": [ 571 | " 10000\n", 572 | "read" 573 | ] 574 | }, 575 | { 576 | "output_type": "stream", 577 | "stream": "stdout", 578 | "text": [ 579 | " 11000\n", 580 | "read" 581 | ] 582 | }, 583 | { 584 | "output_type": "stream", 585 | "stream": "stdout", 586 | "text": [ 587 | " 12000\n", 588 | "read" 589 | ] 590 | }, 591 | { 592 | "output_type": "stream", 593 | "stream": "stdout", 594 | "text": [ 595 | " 13000\n", 596 | "read" 597 | ] 598 | }, 599 | { 600 | "output_type": "stream", 601 | "stream": "stdout", 602 | "text": [ 603 | " 14000\n", 604 | "read" 605 | ] 606 | }, 607 | { 608 | "output_type": "stream", 609 | "stream": "stdout", 610 | "text": [ 611 | " 15000\n", 612 | "read" 613 | ] 614 | }, 615 | { 616 | "output_type": "stream", 617 | "stream": "stdout", 618 | "text": [ 619 | " 16000\n", 620 | "read" 621 | ] 622 | }, 623 | { 624 | "output_type": "stream", 625 | "stream": "stdout", 626 | "text": [ 627 | " 17000\n", 628 | "read" 629 | ] 630 | }, 631 | { 632 | "output_type": "stream", 633 | "stream": "stdout", 634 | "text": [ 635 | " 18000\n", 636 | "read" 637 | ] 638 | }, 639 | { 640 | "output_type": "stream", 641 | "stream": "stdout", 642 | "text": [ 643 | " 19000\n", 644 | "read" 645 | ] 646 | }, 647 | { 648 | "output_type": "stream", 649 | "stream": "stdout", 650 | "text": [ 651 | " 20000\n", 652 | "read" 653 | ] 654 | }, 655 | { 656 | "output_type": "stream", 657 | "stream": "stdout", 658 | "text": [ 659 | " 21000\n", 660 | "read" 661 | ] 662 | }, 663 | { 664 | "output_type": "stream", 665 | "stream": "stdout", 666 | "text": [ 667 | " 22000\n", 668 | "read" 669 | ] 670 | }, 671 | { 672 | "output_type": "stream", 673 | "stream": "stdout", 674 | "text": [ 675 | " 23000\n", 676 | "read" 677 | ] 678 | }, 679 | { 680 | "output_type": "stream", 681 | "stream": "stdout", 682 | "text": [ 683 | " 24000\n", 684 | "read" 685 | ] 686 | }, 687 | { 688 | "output_type": "stream", 689 | "stream": "stdout", 690 | "text": [ 691 | " 25000\n", 692 | "read" 693 | ] 694 | }, 695 | { 696 | "output_type": "stream", 697 | "stream": "stdout", 698 | "text": [ 699 | " 26000\n", 700 | "read" 701 | ] 702 | }, 703 | { 704 | "output_type": "stream", 705 | "stream": "stdout", 706 | "text": [ 707 | " 27000\n", 708 | "read" 709 | ] 710 | }, 711 | { 712 | "output_type": "stream", 713 | "stream": "stdout", 714 | "text": [ 715 | " 28000\n", 716 | "read" 717 | ] 718 | }, 719 | { 720 | "output_type": "stream", 721 | "stream": "stdout", 722 | "text": [ 723 | " 29000\n", 724 | "read" 725 | ] 726 | }, 727 | { 728 | "output_type": "stream", 729 | "stream": "stdout", 730 | "text": [ 731 | " 30000\n", 732 | "read" 733 | ] 734 | }, 735 | { 736 | "output_type": "stream", 737 | "stream": "stdout", 738 | "text": [ 739 | " 31000\n", 740 | "read" 741 | ] 742 | }, 743 | { 744 | "output_type": "stream", 745 | "stream": "stdout", 746 | "text": [ 747 | " 32000\n", 748 | "read" 749 | ] 750 | }, 751 | { 752 | "output_type": "stream", 753 | "stream": "stdout", 754 | "text": [ 755 | " 33000\n", 756 | "read" 757 | ] 758 | }, 759 | { 760 | "output_type": "stream", 761 | "stream": "stdout", 762 | "text": [ 763 | " 34000\n", 764 | "read" 765 | ] 766 | }, 767 | { 768 | "output_type": "stream", 769 | "stream": "stdout", 770 | "text": [ 771 | " 35000\n", 772 | "read" 773 | ] 774 | }, 775 | { 776 | "output_type": "stream", 777 | "stream": "stdout", 778 | "text": [ 779 | " 36000\n", 780 | "read" 781 | ] 782 | }, 783 | { 784 | "output_type": "stream", 785 | "stream": "stdout", 786 | "text": [ 787 | " 37000\n", 788 | "read" 789 | ] 790 | }, 791 | { 792 | "output_type": "stream", 793 | "stream": "stdout", 794 | "text": [ 795 | " 38000\n", 796 | "read" 797 | ] 798 | }, 799 | { 800 | "output_type": "stream", 801 | "stream": "stdout", 802 | "text": [ 803 | " 39000\n", 804 | "read" 805 | ] 806 | }, 807 | { 808 | "output_type": "stream", 809 | "stream": "stdout", 810 | "text": [ 811 | " 40000\n", 812 | "read" 813 | ] 814 | }, 815 | { 816 | "output_type": "stream", 817 | "stream": "stdout", 818 | "text": [ 819 | " 41000\n", 820 | "read" 821 | ] 822 | }, 823 | { 824 | "output_type": "stream", 825 | "stream": "stdout", 826 | "text": [ 827 | " 42000\n", 828 | "read" 829 | ] 830 | }, 831 | { 832 | "output_type": "stream", 833 | "stream": "stdout", 834 | "text": [ 835 | " 43000\n", 836 | "read" 837 | ] 838 | }, 839 | { 840 | "output_type": "stream", 841 | "stream": "stdout", 842 | "text": [ 843 | " 44000\n", 844 | "read" 845 | ] 846 | }, 847 | { 848 | "output_type": "stream", 849 | "stream": "stdout", 850 | "text": [ 851 | " 45000\n", 852 | "read" 853 | ] 854 | }, 855 | { 856 | "output_type": "stream", 857 | "stream": "stdout", 858 | "text": [ 859 | " 46000\n", 860 | "read" 861 | ] 862 | }, 863 | { 864 | "output_type": "stream", 865 | "stream": "stdout", 866 | "text": [ 867 | " 47000\n", 868 | "read" 869 | ] 870 | }, 871 | { 872 | "output_type": "stream", 873 | "stream": "stdout", 874 | "text": [ 875 | " 48000\n", 876 | "read" 877 | ] 878 | }, 879 | { 880 | "output_type": "stream", 881 | "stream": "stdout", 882 | "text": [ 883 | " 49000\n", 884 | "read" 885 | ] 886 | }, 887 | { 888 | "output_type": "stream", 889 | "stream": "stdout", 890 | "text": [ 891 | " 50000\n", 892 | "read" 893 | ] 894 | }, 895 | { 896 | "output_type": "stream", 897 | "stream": "stdout", 898 | "text": [ 899 | " 51000\n", 900 | "read" 901 | ] 902 | }, 903 | { 904 | "output_type": "stream", 905 | "stream": "stdout", 906 | "text": [ 907 | " 52000\n", 908 | "read" 909 | ] 910 | }, 911 | { 912 | "output_type": "stream", 913 | "stream": "stdout", 914 | "text": [ 915 | " 53000\n", 916 | "read" 917 | ] 918 | }, 919 | { 920 | "output_type": "stream", 921 | "stream": "stdout", 922 | "text": [ 923 | " 54000\n", 924 | "read" 925 | ] 926 | }, 927 | { 928 | "output_type": "stream", 929 | "stream": "stdout", 930 | "text": [ 931 | " 55000\n", 932 | "read" 933 | ] 934 | }, 935 | { 936 | "output_type": "stream", 937 | "stream": "stdout", 938 | "text": [ 939 | " 56000\n", 940 | "read" 941 | ] 942 | }, 943 | { 944 | "output_type": "stream", 945 | "stream": "stdout", 946 | "text": [ 947 | " 57000\n", 948 | "read" 949 | ] 950 | }, 951 | { 952 | "output_type": "stream", 953 | "stream": "stdout", 954 | "text": [ 955 | " 58000\n", 956 | "read" 957 | ] 958 | }, 959 | { 960 | "output_type": "stream", 961 | "stream": "stdout", 962 | "text": [ 963 | " 59000\n", 964 | "read" 965 | ] 966 | }, 967 | { 968 | "output_type": "stream", 969 | "stream": "stdout", 970 | "text": [ 971 | " 60000\n", 972 | "read" 973 | ] 974 | }, 975 | { 976 | "output_type": "stream", 977 | "stream": "stdout", 978 | "text": [ 979 | " 61000\n", 980 | "read" 981 | ] 982 | }, 983 | { 984 | "output_type": "stream", 985 | "stream": "stdout", 986 | "text": [ 987 | " 62000\n", 988 | "read" 989 | ] 990 | }, 991 | { 992 | "output_type": "stream", 993 | "stream": "stdout", 994 | "text": [ 995 | " 63000\n", 996 | "read" 997 | ] 998 | }, 999 | { 1000 | "output_type": "stream", 1001 | "stream": "stdout", 1002 | "text": [ 1003 | " 64000\n", 1004 | "read" 1005 | ] 1006 | }, 1007 | { 1008 | "output_type": "stream", 1009 | "stream": "stdout", 1010 | "text": [ 1011 | " 65000\n", 1012 | "read" 1013 | ] 1014 | }, 1015 | { 1016 | "output_type": "stream", 1017 | "stream": "stdout", 1018 | "text": [ 1019 | " 66000\n", 1020 | "read" 1021 | ] 1022 | }, 1023 | { 1024 | "output_type": "stream", 1025 | "stream": "stdout", 1026 | "text": [ 1027 | " 67000\n", 1028 | "read" 1029 | ] 1030 | }, 1031 | { 1032 | "output_type": "stream", 1033 | "stream": "stdout", 1034 | "text": [ 1035 | " 68000\n", 1036 | "read" 1037 | ] 1038 | }, 1039 | { 1040 | "output_type": "stream", 1041 | "stream": "stdout", 1042 | "text": [ 1043 | " 69000\n", 1044 | "read" 1045 | ] 1046 | }, 1047 | { 1048 | "output_type": "stream", 1049 | "stream": "stdout", 1050 | "text": [ 1051 | " 70000\n", 1052 | "read" 1053 | ] 1054 | }, 1055 | { 1056 | "output_type": "stream", 1057 | "stream": "stdout", 1058 | "text": [ 1059 | " 71000\n", 1060 | "read" 1061 | ] 1062 | }, 1063 | { 1064 | "output_type": "stream", 1065 | "stream": "stdout", 1066 | "text": [ 1067 | " 72000\n", 1068 | "read" 1069 | ] 1070 | }, 1071 | { 1072 | "output_type": "stream", 1073 | "stream": "stdout", 1074 | "text": [ 1075 | " 73000\n", 1076 | "read" 1077 | ] 1078 | }, 1079 | { 1080 | "output_type": "stream", 1081 | "stream": "stdout", 1082 | "text": [ 1083 | " 74000\n", 1084 | "read" 1085 | ] 1086 | }, 1087 | { 1088 | "output_type": "stream", 1089 | "stream": "stdout", 1090 | "text": [ 1091 | " 75000\n", 1092 | "read" 1093 | ] 1094 | }, 1095 | { 1096 | "output_type": "stream", 1097 | "stream": "stdout", 1098 | "text": [ 1099 | " 76000\n", 1100 | "read" 1101 | ] 1102 | }, 1103 | { 1104 | "output_type": "stream", 1105 | "stream": "stdout", 1106 | "text": [ 1107 | " 77000\n", 1108 | "read" 1109 | ] 1110 | }, 1111 | { 1112 | "output_type": "stream", 1113 | "stream": "stdout", 1114 | "text": [ 1115 | " 78000\n", 1116 | "read" 1117 | ] 1118 | }, 1119 | { 1120 | "output_type": "stream", 1121 | "stream": "stdout", 1122 | "text": [ 1123 | " 79000\n", 1124 | "read" 1125 | ] 1126 | }, 1127 | { 1128 | "output_type": "stream", 1129 | "stream": "stdout", 1130 | "text": [ 1131 | " 80000\n", 1132 | "read" 1133 | ] 1134 | }, 1135 | { 1136 | "output_type": "stream", 1137 | "stream": "stdout", 1138 | "text": [ 1139 | " 81000\n", 1140 | "read" 1141 | ] 1142 | }, 1143 | { 1144 | "output_type": "stream", 1145 | "stream": "stdout", 1146 | "text": [ 1147 | " 82000\n", 1148 | "read" 1149 | ] 1150 | }, 1151 | { 1152 | "output_type": "stream", 1153 | "stream": "stdout", 1154 | "text": [ 1155 | " 83000\n", 1156 | "read" 1157 | ] 1158 | }, 1159 | { 1160 | "output_type": "stream", 1161 | "stream": "stdout", 1162 | "text": [ 1163 | " 84000\n", 1164 | "read" 1165 | ] 1166 | }, 1167 | { 1168 | "output_type": "stream", 1169 | "stream": "stdout", 1170 | "text": [ 1171 | " 85000\n", 1172 | "read" 1173 | ] 1174 | }, 1175 | { 1176 | "output_type": "stream", 1177 | "stream": "stdout", 1178 | "text": [ 1179 | " 86000\n", 1180 | "read" 1181 | ] 1182 | }, 1183 | { 1184 | "output_type": "stream", 1185 | "stream": "stdout", 1186 | "text": [ 1187 | " 87000\n", 1188 | "read" 1189 | ] 1190 | }, 1191 | { 1192 | "output_type": "stream", 1193 | "stream": "stdout", 1194 | "text": [ 1195 | " 88000\n", 1196 | "read" 1197 | ] 1198 | }, 1199 | { 1200 | "output_type": "stream", 1201 | "stream": "stdout", 1202 | "text": [ 1203 | " 89000\n", 1204 | "read" 1205 | ] 1206 | }, 1207 | { 1208 | "output_type": "stream", 1209 | "stream": "stdout", 1210 | "text": [ 1211 | " 90000\n", 1212 | "read" 1213 | ] 1214 | }, 1215 | { 1216 | "output_type": "stream", 1217 | "stream": "stdout", 1218 | "text": [ 1219 | " 91000\n", 1220 | "read" 1221 | ] 1222 | }, 1223 | { 1224 | "output_type": "stream", 1225 | "stream": "stdout", 1226 | "text": [ 1227 | " 92000\n", 1228 | "read" 1229 | ] 1230 | }, 1231 | { 1232 | "output_type": "stream", 1233 | "stream": "stdout", 1234 | "text": [ 1235 | " 93000\n", 1236 | "read" 1237 | ] 1238 | }, 1239 | { 1240 | "output_type": "stream", 1241 | "stream": "stdout", 1242 | "text": [ 1243 | " 94000\n", 1244 | "read" 1245 | ] 1246 | }, 1247 | { 1248 | "output_type": "stream", 1249 | "stream": "stdout", 1250 | "text": [ 1251 | " 95000\n", 1252 | "read" 1253 | ] 1254 | }, 1255 | { 1256 | "output_type": "stream", 1257 | "stream": "stdout", 1258 | "text": [ 1259 | " 96000\n", 1260 | "read" 1261 | ] 1262 | }, 1263 | { 1264 | "output_type": "stream", 1265 | "stream": "stdout", 1266 | "text": [ 1267 | " 97000\n", 1268 | "read" 1269 | ] 1270 | }, 1271 | { 1272 | "output_type": "stream", 1273 | "stream": "stdout", 1274 | "text": [ 1275 | " 98000\n", 1276 | "read" 1277 | ] 1278 | }, 1279 | { 1280 | "output_type": "stream", 1281 | "stream": "stdout", 1282 | "text": [ 1283 | " 99000\n", 1284 | "read" 1285 | ] 1286 | }, 1287 | { 1288 | "output_type": "stream", 1289 | "stream": "stdout", 1290 | "text": [ 1291 | " 100000\n", 1292 | "read" 1293 | ] 1294 | }, 1295 | { 1296 | "output_type": "stream", 1297 | "stream": "stdout", 1298 | "text": [ 1299 | " 101000\n", 1300 | "read" 1301 | ] 1302 | }, 1303 | { 1304 | "output_type": "stream", 1305 | "stream": "stdout", 1306 | "text": [ 1307 | " 102000\n", 1308 | "read" 1309 | ] 1310 | }, 1311 | { 1312 | "output_type": "stream", 1313 | "stream": "stdout", 1314 | "text": [ 1315 | " 103000\n", 1316 | "read" 1317 | ] 1318 | }, 1319 | { 1320 | "output_type": "stream", 1321 | "stream": "stdout", 1322 | "text": [ 1323 | " 104000\n", 1324 | "read" 1325 | ] 1326 | }, 1327 | { 1328 | "output_type": "stream", 1329 | "stream": "stdout", 1330 | "text": [ 1331 | " 105000\n", 1332 | "read" 1333 | ] 1334 | }, 1335 | { 1336 | "output_type": "stream", 1337 | "stream": "stdout", 1338 | "text": [ 1339 | " 106000\n", 1340 | "read" 1341 | ] 1342 | }, 1343 | { 1344 | "output_type": "stream", 1345 | "stream": "stdout", 1346 | "text": [ 1347 | " 107000\n", 1348 | "read" 1349 | ] 1350 | }, 1351 | { 1352 | "output_type": "stream", 1353 | "stream": "stdout", 1354 | "text": [ 1355 | " 108000\n", 1356 | "read" 1357 | ] 1358 | }, 1359 | { 1360 | "output_type": "stream", 1361 | "stream": "stdout", 1362 | "text": [ 1363 | " 109000\n", 1364 | "read" 1365 | ] 1366 | }, 1367 | { 1368 | "output_type": "stream", 1369 | "stream": "stdout", 1370 | "text": [ 1371 | " 110000\n", 1372 | "read" 1373 | ] 1374 | }, 1375 | { 1376 | "output_type": "stream", 1377 | "stream": "stdout", 1378 | "text": [ 1379 | " 111000\n", 1380 | "read" 1381 | ] 1382 | }, 1383 | { 1384 | "output_type": "stream", 1385 | "stream": "stdout", 1386 | "text": [ 1387 | " 112000\n", 1388 | "read" 1389 | ] 1390 | }, 1391 | { 1392 | "output_type": "stream", 1393 | "stream": "stdout", 1394 | "text": [ 1395 | " 113000\n", 1396 | "read" 1397 | ] 1398 | }, 1399 | { 1400 | "output_type": "stream", 1401 | "stream": "stdout", 1402 | "text": [ 1403 | " 114000\n", 1404 | "read" 1405 | ] 1406 | }, 1407 | { 1408 | "output_type": "stream", 1409 | "stream": "stdout", 1410 | "text": [ 1411 | " 115000\n", 1412 | "read" 1413 | ] 1414 | }, 1415 | { 1416 | "output_type": "stream", 1417 | "stream": "stdout", 1418 | "text": [ 1419 | " 116000\n", 1420 | "read" 1421 | ] 1422 | }, 1423 | { 1424 | "output_type": "stream", 1425 | "stream": "stdout", 1426 | "text": [ 1427 | " 117000\n", 1428 | "read" 1429 | ] 1430 | }, 1431 | { 1432 | "output_type": "stream", 1433 | "stream": "stdout", 1434 | "text": [ 1435 | " 118000\n", 1436 | "read" 1437 | ] 1438 | }, 1439 | { 1440 | "output_type": "stream", 1441 | "stream": "stdout", 1442 | "text": [ 1443 | " 119000\n", 1444 | "read" 1445 | ] 1446 | }, 1447 | { 1448 | "output_type": "stream", 1449 | "stream": "stdout", 1450 | "text": [ 1451 | " 120000\n", 1452 | "read" 1453 | ] 1454 | }, 1455 | { 1456 | "output_type": "stream", 1457 | "stream": "stdout", 1458 | "text": [ 1459 | " 121000\n", 1460 | "read" 1461 | ] 1462 | }, 1463 | { 1464 | "output_type": "stream", 1465 | "stream": "stdout", 1466 | "text": [ 1467 | " 122000\n", 1468 | "read" 1469 | ] 1470 | }, 1471 | { 1472 | "output_type": "stream", 1473 | "stream": "stdout", 1474 | "text": [ 1475 | " 123000\n", 1476 | "read" 1477 | ] 1478 | }, 1479 | { 1480 | "output_type": "stream", 1481 | "stream": "stdout", 1482 | "text": [ 1483 | " 124000\n", 1484 | "read" 1485 | ] 1486 | }, 1487 | { 1488 | "output_type": "stream", 1489 | "stream": "stdout", 1490 | "text": [ 1491 | " 125000\n", 1492 | "read" 1493 | ] 1494 | }, 1495 | { 1496 | "output_type": "stream", 1497 | "stream": "stdout", 1498 | "text": [ 1499 | " 126000\n", 1500 | "read" 1501 | ] 1502 | }, 1503 | { 1504 | "output_type": "stream", 1505 | "stream": "stdout", 1506 | "text": [ 1507 | " 127000\n", 1508 | "read" 1509 | ] 1510 | }, 1511 | { 1512 | "output_type": "stream", 1513 | "stream": "stdout", 1514 | "text": [ 1515 | " 128000\n", 1516 | "read" 1517 | ] 1518 | }, 1519 | { 1520 | "output_type": "stream", 1521 | "stream": "stdout", 1522 | "text": [ 1523 | " 129000\n", 1524 | "read" 1525 | ] 1526 | }, 1527 | { 1528 | "output_type": "stream", 1529 | "stream": "stdout", 1530 | "text": [ 1531 | " 130000\n", 1532 | "read" 1533 | ] 1534 | }, 1535 | { 1536 | "output_type": "stream", 1537 | "stream": "stdout", 1538 | "text": [ 1539 | " 131000\n", 1540 | "read" 1541 | ] 1542 | }, 1543 | { 1544 | "output_type": "stream", 1545 | "stream": "stdout", 1546 | "text": [ 1547 | " 132000\n", 1548 | "read" 1549 | ] 1550 | }, 1551 | { 1552 | "output_type": "stream", 1553 | "stream": "stdout", 1554 | "text": [ 1555 | " 133000\n", 1556 | "read" 1557 | ] 1558 | }, 1559 | { 1560 | "output_type": "stream", 1561 | "stream": "stdout", 1562 | "text": [ 1563 | " 134000\n", 1564 | "read" 1565 | ] 1566 | }, 1567 | { 1568 | "output_type": "stream", 1569 | "stream": "stdout", 1570 | "text": [ 1571 | " 135000\n", 1572 | "read" 1573 | ] 1574 | }, 1575 | { 1576 | "output_type": "stream", 1577 | "stream": "stdout", 1578 | "text": [ 1579 | " 136000\n", 1580 | "read" 1581 | ] 1582 | }, 1583 | { 1584 | "output_type": "stream", 1585 | "stream": "stdout", 1586 | "text": [ 1587 | " 137000\n", 1588 | "read" 1589 | ] 1590 | }, 1591 | { 1592 | "output_type": "stream", 1593 | "stream": "stdout", 1594 | "text": [ 1595 | " 138000\n", 1596 | "read" 1597 | ] 1598 | }, 1599 | { 1600 | "output_type": "stream", 1601 | "stream": "stdout", 1602 | "text": [ 1603 | " 139000\n", 1604 | "read" 1605 | ] 1606 | }, 1607 | { 1608 | "output_type": "stream", 1609 | "stream": "stdout", 1610 | "text": [ 1611 | " 140000\n", 1612 | "read" 1613 | ] 1614 | }, 1615 | { 1616 | "output_type": "stream", 1617 | "stream": "stdout", 1618 | "text": [ 1619 | " 141000\n", 1620 | "read" 1621 | ] 1622 | }, 1623 | { 1624 | "output_type": "stream", 1625 | "stream": "stdout", 1626 | "text": [ 1627 | " 142000\n", 1628 | "read" 1629 | ] 1630 | }, 1631 | { 1632 | "output_type": "stream", 1633 | "stream": "stdout", 1634 | "text": [ 1635 | " 143000\n", 1636 | "read" 1637 | ] 1638 | }, 1639 | { 1640 | "output_type": "stream", 1641 | "stream": "stdout", 1642 | "text": [ 1643 | " 144000\n", 1644 | "read" 1645 | ] 1646 | }, 1647 | { 1648 | "output_type": "stream", 1649 | "stream": "stdout", 1650 | "text": [ 1651 | " 145000\n", 1652 | "read" 1653 | ] 1654 | }, 1655 | { 1656 | "output_type": "stream", 1657 | "stream": "stdout", 1658 | "text": [ 1659 | " 146000\n" 1660 | ] 1661 | } 1662 | ], 1663 | "prompt_number": 3 1664 | }, 1665 | { 1666 | "cell_type": "code", 1667 | "collapsed": false, 1668 | "input": [ 1669 | "# Filter accounts not appearing a minimum number of times.\n", 1670 | "count_thresh = 100\n", 1671 | "friend_set = set(f for f, v in friend_counts.iteritems() if v >= count_thresh)\n", 1672 | "print len(friend_set), 'of', len(friend_counts), 'appear at least', count_thresh, 'times'" 1673 | ], 1674 | "language": "python", 1675 | "metadata": {}, 1676 | "outputs": [ 1677 | { 1678 | "output_type": "stream", 1679 | "stream": "stdout", 1680 | "text": [ 1681 | "67760 of 21185659 appear at least 100 times\n" 1682 | ] 1683 | } 1684 | ], 1685 | "prompt_number": 4 1686 | }, 1687 | { 1688 | "cell_type": "code", 1689 | "collapsed": false, 1690 | "input": [ 1691 | "# Now construct friend counts for each brand, using the filtered set of accounts. \n", 1692 | "brand2counts = defaultdict(lambda: Counter())\n", 1693 | "count = 0\n", 1694 | "for follower in db.xmatrix.find({'is_processed':True}):\n", 1695 | " count += 1\n", 1696 | " if count % 1000 == 0:\n", 1697 | " print 'read', count\n", 1698 | " brandids = set([f for f in follower['follows'] if f in id2brand])\n", 1699 | " friends = set(follower['follows']) & friend_set\n", 1700 | " for b in brandids:\n", 1701 | " brand2counts[b].update(friends)" 1702 | ], 1703 | "language": "python", 1704 | "metadata": {}, 1705 | "outputs": [ 1706 | { 1707 | "output_type": "stream", 1708 | "stream": "stdout", 1709 | "text": [ 1710 | "read 1000\n", 1711 | "read" 1712 | ] 1713 | }, 1714 | { 1715 | "output_type": "stream", 1716 | "stream": "stdout", 1717 | "text": [ 1718 | " 2000\n", 1719 | "read" 1720 | ] 1721 | }, 1722 | { 1723 | "output_type": "stream", 1724 | "stream": "stdout", 1725 | "text": [ 1726 | " 3000\n", 1727 | "read" 1728 | ] 1729 | }, 1730 | { 1731 | "output_type": "stream", 1732 | "stream": "stdout", 1733 | "text": [ 1734 | " 4000\n", 1735 | "read" 1736 | ] 1737 | }, 1738 | { 1739 | "output_type": "stream", 1740 | "stream": "stdout", 1741 | "text": [ 1742 | " 5000\n", 1743 | "read" 1744 | ] 1745 | }, 1746 | { 1747 | "output_type": "stream", 1748 | "stream": "stdout", 1749 | "text": [ 1750 | " 6000\n", 1751 | "read" 1752 | ] 1753 | }, 1754 | { 1755 | "output_type": "stream", 1756 | "stream": "stdout", 1757 | "text": [ 1758 | " 7000\n", 1759 | "read" 1760 | ] 1761 | }, 1762 | { 1763 | "output_type": "stream", 1764 | "stream": "stdout", 1765 | "text": [ 1766 | " 8000\n", 1767 | "read" 1768 | ] 1769 | }, 1770 | { 1771 | "output_type": "stream", 1772 | "stream": "stdout", 1773 | "text": [ 1774 | " 9000\n", 1775 | "read" 1776 | ] 1777 | }, 1778 | { 1779 | "output_type": "stream", 1780 | "stream": "stdout", 1781 | "text": [ 1782 | " 10000\n", 1783 | "read" 1784 | ] 1785 | }, 1786 | { 1787 | "output_type": "stream", 1788 | "stream": "stdout", 1789 | "text": [ 1790 | " 11000\n", 1791 | "read" 1792 | ] 1793 | }, 1794 | { 1795 | "output_type": "stream", 1796 | "stream": "stdout", 1797 | "text": [ 1798 | " 12000\n", 1799 | "read" 1800 | ] 1801 | }, 1802 | { 1803 | "output_type": "stream", 1804 | "stream": "stdout", 1805 | "text": [ 1806 | " 13000\n", 1807 | "read" 1808 | ] 1809 | }, 1810 | { 1811 | "output_type": "stream", 1812 | "stream": "stdout", 1813 | "text": [ 1814 | " 14000\n", 1815 | "read" 1816 | ] 1817 | }, 1818 | { 1819 | "output_type": "stream", 1820 | "stream": "stdout", 1821 | "text": [ 1822 | " 15000\n", 1823 | "read" 1824 | ] 1825 | }, 1826 | { 1827 | "output_type": "stream", 1828 | "stream": "stdout", 1829 | "text": [ 1830 | " 16000\n", 1831 | "read" 1832 | ] 1833 | }, 1834 | { 1835 | "output_type": "stream", 1836 | "stream": "stdout", 1837 | "text": [ 1838 | " 17000\n", 1839 | "read" 1840 | ] 1841 | }, 1842 | { 1843 | "output_type": "stream", 1844 | "stream": "stdout", 1845 | "text": [ 1846 | " 18000\n", 1847 | "read" 1848 | ] 1849 | }, 1850 | { 1851 | "output_type": "stream", 1852 | "stream": "stdout", 1853 | "text": [ 1854 | " 19000\n", 1855 | "read" 1856 | ] 1857 | }, 1858 | { 1859 | "output_type": "stream", 1860 | "stream": "stdout", 1861 | "text": [ 1862 | " 20000\n", 1863 | "read" 1864 | ] 1865 | }, 1866 | { 1867 | "output_type": "stream", 1868 | "stream": "stdout", 1869 | "text": [ 1870 | " 21000\n", 1871 | "read" 1872 | ] 1873 | }, 1874 | { 1875 | "output_type": "stream", 1876 | "stream": "stdout", 1877 | "text": [ 1878 | " 22000\n", 1879 | "read" 1880 | ] 1881 | }, 1882 | { 1883 | "output_type": "stream", 1884 | "stream": "stdout", 1885 | "text": [ 1886 | " 23000\n", 1887 | "read" 1888 | ] 1889 | }, 1890 | { 1891 | "output_type": "stream", 1892 | "stream": "stdout", 1893 | "text": [ 1894 | " 24000\n", 1895 | "read" 1896 | ] 1897 | }, 1898 | { 1899 | "output_type": "stream", 1900 | "stream": "stdout", 1901 | "text": [ 1902 | " 25000\n", 1903 | "read" 1904 | ] 1905 | }, 1906 | { 1907 | "output_type": "stream", 1908 | "stream": "stdout", 1909 | "text": [ 1910 | " 26000\n", 1911 | "read" 1912 | ] 1913 | }, 1914 | { 1915 | "output_type": "stream", 1916 | "stream": "stdout", 1917 | "text": [ 1918 | " 27000\n", 1919 | "read" 1920 | ] 1921 | }, 1922 | { 1923 | "output_type": "stream", 1924 | "stream": "stdout", 1925 | "text": [ 1926 | " 28000\n", 1927 | "read" 1928 | ] 1929 | }, 1930 | { 1931 | "output_type": "stream", 1932 | "stream": "stdout", 1933 | "text": [ 1934 | " 29000\n", 1935 | "read" 1936 | ] 1937 | }, 1938 | { 1939 | "output_type": "stream", 1940 | "stream": "stdout", 1941 | "text": [ 1942 | " 30000\n", 1943 | "read" 1944 | ] 1945 | }, 1946 | { 1947 | "output_type": "stream", 1948 | "stream": "stdout", 1949 | "text": [ 1950 | " 31000\n", 1951 | "read" 1952 | ] 1953 | }, 1954 | { 1955 | "output_type": "stream", 1956 | "stream": "stdout", 1957 | "text": [ 1958 | " 32000\n", 1959 | "read" 1960 | ] 1961 | }, 1962 | { 1963 | "output_type": "stream", 1964 | "stream": "stdout", 1965 | "text": [ 1966 | " 33000\n", 1967 | "read" 1968 | ] 1969 | }, 1970 | { 1971 | "output_type": "stream", 1972 | "stream": "stdout", 1973 | "text": [ 1974 | " 34000\n", 1975 | "read" 1976 | ] 1977 | }, 1978 | { 1979 | "output_type": "stream", 1980 | "stream": "stdout", 1981 | "text": [ 1982 | " 35000\n", 1983 | "read" 1984 | ] 1985 | }, 1986 | { 1987 | "output_type": "stream", 1988 | "stream": "stdout", 1989 | "text": [ 1990 | " 36000\n", 1991 | "read" 1992 | ] 1993 | }, 1994 | { 1995 | "output_type": "stream", 1996 | "stream": "stdout", 1997 | "text": [ 1998 | " 37000\n", 1999 | "read" 2000 | ] 2001 | }, 2002 | { 2003 | "output_type": "stream", 2004 | "stream": "stdout", 2005 | "text": [ 2006 | " 38000\n", 2007 | "read" 2008 | ] 2009 | }, 2010 | { 2011 | "output_type": "stream", 2012 | "stream": "stdout", 2013 | "text": [ 2014 | " 39000\n", 2015 | "read" 2016 | ] 2017 | }, 2018 | { 2019 | "output_type": "stream", 2020 | "stream": "stdout", 2021 | "text": [ 2022 | " 40000\n", 2023 | "read" 2024 | ] 2025 | }, 2026 | { 2027 | "output_type": "stream", 2028 | "stream": "stdout", 2029 | "text": [ 2030 | " 41000\n", 2031 | "read" 2032 | ] 2033 | }, 2034 | { 2035 | "output_type": "stream", 2036 | "stream": "stdout", 2037 | "text": [ 2038 | " 42000\n", 2039 | "read" 2040 | ] 2041 | }, 2042 | { 2043 | "output_type": "stream", 2044 | "stream": "stdout", 2045 | "text": [ 2046 | " 43000\n", 2047 | "read" 2048 | ] 2049 | }, 2050 | { 2051 | "output_type": "stream", 2052 | "stream": "stdout", 2053 | "text": [ 2054 | " 44000\n", 2055 | "read" 2056 | ] 2057 | }, 2058 | { 2059 | "output_type": "stream", 2060 | "stream": "stdout", 2061 | "text": [ 2062 | " 45000\n", 2063 | "read" 2064 | ] 2065 | }, 2066 | { 2067 | "output_type": "stream", 2068 | "stream": "stdout", 2069 | "text": [ 2070 | " 46000\n", 2071 | "read" 2072 | ] 2073 | }, 2074 | { 2075 | "output_type": "stream", 2076 | "stream": "stdout", 2077 | "text": [ 2078 | " 47000\n", 2079 | "read" 2080 | ] 2081 | }, 2082 | { 2083 | "output_type": "stream", 2084 | "stream": "stdout", 2085 | "text": [ 2086 | " 48000\n", 2087 | "read" 2088 | ] 2089 | }, 2090 | { 2091 | "output_type": "stream", 2092 | "stream": "stdout", 2093 | "text": [ 2094 | " 49000\n", 2095 | "read" 2096 | ] 2097 | }, 2098 | { 2099 | "output_type": "stream", 2100 | "stream": "stdout", 2101 | "text": [ 2102 | " 50000\n", 2103 | "read" 2104 | ] 2105 | }, 2106 | { 2107 | "output_type": "stream", 2108 | "stream": "stdout", 2109 | "text": [ 2110 | " 51000\n", 2111 | "read" 2112 | ] 2113 | }, 2114 | { 2115 | "output_type": "stream", 2116 | "stream": "stdout", 2117 | "text": [ 2118 | " 52000\n", 2119 | "read" 2120 | ] 2121 | }, 2122 | { 2123 | "output_type": "stream", 2124 | "stream": "stdout", 2125 | "text": [ 2126 | " 53000\n", 2127 | "read" 2128 | ] 2129 | }, 2130 | { 2131 | "output_type": "stream", 2132 | "stream": "stdout", 2133 | "text": [ 2134 | " 54000\n", 2135 | "read" 2136 | ] 2137 | }, 2138 | { 2139 | "output_type": "stream", 2140 | "stream": "stdout", 2141 | "text": [ 2142 | " 55000\n", 2143 | "read" 2144 | ] 2145 | }, 2146 | { 2147 | "output_type": "stream", 2148 | "stream": "stdout", 2149 | "text": [ 2150 | " 56000\n", 2151 | "read" 2152 | ] 2153 | }, 2154 | { 2155 | "output_type": "stream", 2156 | "stream": "stdout", 2157 | "text": [ 2158 | " 57000\n", 2159 | "read" 2160 | ] 2161 | }, 2162 | { 2163 | "output_type": "stream", 2164 | "stream": "stdout", 2165 | "text": [ 2166 | " 58000\n", 2167 | "read" 2168 | ] 2169 | }, 2170 | { 2171 | "output_type": "stream", 2172 | "stream": "stdout", 2173 | "text": [ 2174 | " 59000\n", 2175 | "read" 2176 | ] 2177 | }, 2178 | { 2179 | "output_type": "stream", 2180 | "stream": "stdout", 2181 | "text": [ 2182 | " 60000\n", 2183 | "read" 2184 | ] 2185 | }, 2186 | { 2187 | "output_type": "stream", 2188 | "stream": "stdout", 2189 | "text": [ 2190 | " 61000\n", 2191 | "read" 2192 | ] 2193 | }, 2194 | { 2195 | "output_type": "stream", 2196 | "stream": "stdout", 2197 | "text": [ 2198 | " 62000\n", 2199 | "read" 2200 | ] 2201 | }, 2202 | { 2203 | "output_type": "stream", 2204 | "stream": "stdout", 2205 | "text": [ 2206 | " 63000\n", 2207 | "read" 2208 | ] 2209 | }, 2210 | { 2211 | "output_type": "stream", 2212 | "stream": "stdout", 2213 | "text": [ 2214 | " 64000\n", 2215 | "read" 2216 | ] 2217 | }, 2218 | { 2219 | "output_type": "stream", 2220 | "stream": "stdout", 2221 | "text": [ 2222 | " 65000\n", 2223 | "read" 2224 | ] 2225 | }, 2226 | { 2227 | "output_type": "stream", 2228 | "stream": "stdout", 2229 | "text": [ 2230 | " 66000\n", 2231 | "read" 2232 | ] 2233 | }, 2234 | { 2235 | "output_type": "stream", 2236 | "stream": "stdout", 2237 | "text": [ 2238 | " 67000\n", 2239 | "read" 2240 | ] 2241 | }, 2242 | { 2243 | "output_type": "stream", 2244 | "stream": "stdout", 2245 | "text": [ 2246 | " 68000\n", 2247 | "read" 2248 | ] 2249 | }, 2250 | { 2251 | "output_type": "stream", 2252 | "stream": "stdout", 2253 | "text": [ 2254 | " 69000\n", 2255 | "read" 2256 | ] 2257 | }, 2258 | { 2259 | "output_type": "stream", 2260 | "stream": "stdout", 2261 | "text": [ 2262 | " 70000\n", 2263 | "read" 2264 | ] 2265 | }, 2266 | { 2267 | "output_type": "stream", 2268 | "stream": "stdout", 2269 | "text": [ 2270 | " 71000\n", 2271 | "read" 2272 | ] 2273 | }, 2274 | { 2275 | "output_type": "stream", 2276 | "stream": "stdout", 2277 | "text": [ 2278 | " 72000\n", 2279 | "read" 2280 | ] 2281 | }, 2282 | { 2283 | "output_type": "stream", 2284 | "stream": "stdout", 2285 | "text": [ 2286 | " 73000\n", 2287 | "read" 2288 | ] 2289 | }, 2290 | { 2291 | "output_type": "stream", 2292 | "stream": "stdout", 2293 | "text": [ 2294 | " 74000\n", 2295 | "read" 2296 | ] 2297 | }, 2298 | { 2299 | "output_type": "stream", 2300 | "stream": "stdout", 2301 | "text": [ 2302 | " 75000\n", 2303 | "read" 2304 | ] 2305 | }, 2306 | { 2307 | "output_type": "stream", 2308 | "stream": "stdout", 2309 | "text": [ 2310 | " 76000\n", 2311 | "read" 2312 | ] 2313 | }, 2314 | { 2315 | "output_type": "stream", 2316 | "stream": "stdout", 2317 | "text": [ 2318 | " 77000\n", 2319 | "read" 2320 | ] 2321 | }, 2322 | { 2323 | "output_type": "stream", 2324 | "stream": "stdout", 2325 | "text": [ 2326 | " 78000\n", 2327 | "read" 2328 | ] 2329 | }, 2330 | { 2331 | "output_type": "stream", 2332 | "stream": "stdout", 2333 | "text": [ 2334 | " 79000\n", 2335 | "read" 2336 | ] 2337 | }, 2338 | { 2339 | "output_type": "stream", 2340 | "stream": "stdout", 2341 | "text": [ 2342 | " 80000\n", 2343 | "read" 2344 | ] 2345 | }, 2346 | { 2347 | "output_type": "stream", 2348 | "stream": "stdout", 2349 | "text": [ 2350 | " 81000\n", 2351 | "read" 2352 | ] 2353 | }, 2354 | { 2355 | "output_type": "stream", 2356 | "stream": "stdout", 2357 | "text": [ 2358 | " 82000\n", 2359 | "read" 2360 | ] 2361 | }, 2362 | { 2363 | "output_type": "stream", 2364 | "stream": "stdout", 2365 | "text": [ 2366 | " 83000\n", 2367 | "read" 2368 | ] 2369 | }, 2370 | { 2371 | "output_type": "stream", 2372 | "stream": "stdout", 2373 | "text": [ 2374 | " 84000\n", 2375 | "read" 2376 | ] 2377 | }, 2378 | { 2379 | "output_type": "stream", 2380 | "stream": "stdout", 2381 | "text": [ 2382 | " 85000\n", 2383 | "read" 2384 | ] 2385 | }, 2386 | { 2387 | "output_type": "stream", 2388 | "stream": "stdout", 2389 | "text": [ 2390 | " 86000\n", 2391 | "read" 2392 | ] 2393 | }, 2394 | { 2395 | "output_type": "stream", 2396 | "stream": "stdout", 2397 | "text": [ 2398 | " 87000\n", 2399 | "read" 2400 | ] 2401 | }, 2402 | { 2403 | "output_type": "stream", 2404 | "stream": "stdout", 2405 | "text": [ 2406 | " 88000\n", 2407 | "read" 2408 | ] 2409 | }, 2410 | { 2411 | "output_type": "stream", 2412 | "stream": "stdout", 2413 | "text": [ 2414 | " 89000\n", 2415 | "read" 2416 | ] 2417 | }, 2418 | { 2419 | "output_type": "stream", 2420 | "stream": "stdout", 2421 | "text": [ 2422 | " 90000\n", 2423 | "read" 2424 | ] 2425 | }, 2426 | { 2427 | "output_type": "stream", 2428 | "stream": "stdout", 2429 | "text": [ 2430 | " 91000\n", 2431 | "read" 2432 | ] 2433 | }, 2434 | { 2435 | "output_type": "stream", 2436 | "stream": "stdout", 2437 | "text": [ 2438 | " 92000\n", 2439 | "read" 2440 | ] 2441 | }, 2442 | { 2443 | "output_type": "stream", 2444 | "stream": "stdout", 2445 | "text": [ 2446 | " 93000\n", 2447 | "read" 2448 | ] 2449 | }, 2450 | { 2451 | "output_type": "stream", 2452 | "stream": "stdout", 2453 | "text": [ 2454 | " 94000\n", 2455 | "read" 2456 | ] 2457 | }, 2458 | { 2459 | "output_type": "stream", 2460 | "stream": "stdout", 2461 | "text": [ 2462 | " 95000\n", 2463 | "read" 2464 | ] 2465 | }, 2466 | { 2467 | "output_type": "stream", 2468 | "stream": "stdout", 2469 | "text": [ 2470 | " 96000\n", 2471 | "read" 2472 | ] 2473 | }, 2474 | { 2475 | "output_type": "stream", 2476 | "stream": "stdout", 2477 | "text": [ 2478 | " 97000\n", 2479 | "read" 2480 | ] 2481 | }, 2482 | { 2483 | "output_type": "stream", 2484 | "stream": "stdout", 2485 | "text": [ 2486 | " 98000\n", 2487 | "read" 2488 | ] 2489 | }, 2490 | { 2491 | "output_type": "stream", 2492 | "stream": "stdout", 2493 | "text": [ 2494 | " 99000\n", 2495 | "read" 2496 | ] 2497 | }, 2498 | { 2499 | "output_type": "stream", 2500 | "stream": "stdout", 2501 | "text": [ 2502 | " 100000\n", 2503 | "read" 2504 | ] 2505 | }, 2506 | { 2507 | "output_type": "stream", 2508 | "stream": "stdout", 2509 | "text": [ 2510 | " 101000\n", 2511 | "read" 2512 | ] 2513 | }, 2514 | { 2515 | "output_type": "stream", 2516 | "stream": "stdout", 2517 | "text": [ 2518 | " 102000\n", 2519 | "read" 2520 | ] 2521 | }, 2522 | { 2523 | "output_type": "stream", 2524 | "stream": "stdout", 2525 | "text": [ 2526 | " 103000\n", 2527 | "read" 2528 | ] 2529 | }, 2530 | { 2531 | "output_type": "stream", 2532 | "stream": "stdout", 2533 | "text": [ 2534 | " 104000\n", 2535 | "read" 2536 | ] 2537 | }, 2538 | { 2539 | "output_type": "stream", 2540 | "stream": "stdout", 2541 | "text": [ 2542 | " 105000\n", 2543 | "read" 2544 | ] 2545 | }, 2546 | { 2547 | "output_type": "stream", 2548 | "stream": "stdout", 2549 | "text": [ 2550 | " 106000\n", 2551 | "read" 2552 | ] 2553 | }, 2554 | { 2555 | "output_type": "stream", 2556 | "stream": "stdout", 2557 | "text": [ 2558 | " 107000\n", 2559 | "read" 2560 | ] 2561 | }, 2562 | { 2563 | "output_type": "stream", 2564 | "stream": "stdout", 2565 | "text": [ 2566 | " 108000\n", 2567 | "read" 2568 | ] 2569 | }, 2570 | { 2571 | "output_type": "stream", 2572 | "stream": "stdout", 2573 | "text": [ 2574 | " 109000\n", 2575 | "read" 2576 | ] 2577 | }, 2578 | { 2579 | "output_type": "stream", 2580 | "stream": "stdout", 2581 | "text": [ 2582 | " 110000\n", 2583 | "read" 2584 | ] 2585 | }, 2586 | { 2587 | "output_type": "stream", 2588 | "stream": "stdout", 2589 | "text": [ 2590 | " 111000\n", 2591 | "read" 2592 | ] 2593 | }, 2594 | { 2595 | "output_type": "stream", 2596 | "stream": "stdout", 2597 | "text": [ 2598 | " 112000\n", 2599 | "read" 2600 | ] 2601 | }, 2602 | { 2603 | "output_type": "stream", 2604 | "stream": "stdout", 2605 | "text": [ 2606 | " 113000\n", 2607 | "read" 2608 | ] 2609 | }, 2610 | { 2611 | "output_type": "stream", 2612 | "stream": "stdout", 2613 | "text": [ 2614 | " 114000\n", 2615 | "read" 2616 | ] 2617 | }, 2618 | { 2619 | "output_type": "stream", 2620 | "stream": "stdout", 2621 | "text": [ 2622 | " 115000\n", 2623 | "read" 2624 | ] 2625 | }, 2626 | { 2627 | "output_type": "stream", 2628 | "stream": "stdout", 2629 | "text": [ 2630 | " 116000\n", 2631 | "read" 2632 | ] 2633 | }, 2634 | { 2635 | "output_type": "stream", 2636 | "stream": "stdout", 2637 | "text": [ 2638 | " 117000\n", 2639 | "read" 2640 | ] 2641 | }, 2642 | { 2643 | "output_type": "stream", 2644 | "stream": "stdout", 2645 | "text": [ 2646 | " 118000\n", 2647 | "read" 2648 | ] 2649 | }, 2650 | { 2651 | "output_type": "stream", 2652 | "stream": "stdout", 2653 | "text": [ 2654 | " 119000\n", 2655 | "read" 2656 | ] 2657 | }, 2658 | { 2659 | "output_type": "stream", 2660 | "stream": "stdout", 2661 | "text": [ 2662 | " 120000\n", 2663 | "read" 2664 | ] 2665 | }, 2666 | { 2667 | "output_type": "stream", 2668 | "stream": "stdout", 2669 | "text": [ 2670 | " 121000\n", 2671 | "read" 2672 | ] 2673 | }, 2674 | { 2675 | "output_type": "stream", 2676 | "stream": "stdout", 2677 | "text": [ 2678 | " 122000\n", 2679 | "read" 2680 | ] 2681 | }, 2682 | { 2683 | "output_type": "stream", 2684 | "stream": "stdout", 2685 | "text": [ 2686 | " 123000\n", 2687 | "read" 2688 | ] 2689 | }, 2690 | { 2691 | "output_type": "stream", 2692 | "stream": "stdout", 2693 | "text": [ 2694 | " 124000\n", 2695 | "read" 2696 | ] 2697 | }, 2698 | { 2699 | "output_type": "stream", 2700 | "stream": "stdout", 2701 | "text": [ 2702 | " 125000\n", 2703 | "read" 2704 | ] 2705 | }, 2706 | { 2707 | "output_type": "stream", 2708 | "stream": "stdout", 2709 | "text": [ 2710 | " 126000\n", 2711 | "read" 2712 | ] 2713 | }, 2714 | { 2715 | "output_type": "stream", 2716 | "stream": "stdout", 2717 | "text": [ 2718 | " 127000\n", 2719 | "read" 2720 | ] 2721 | }, 2722 | { 2723 | "output_type": "stream", 2724 | "stream": "stdout", 2725 | "text": [ 2726 | " 128000\n", 2727 | "read" 2728 | ] 2729 | }, 2730 | { 2731 | "output_type": "stream", 2732 | "stream": "stdout", 2733 | "text": [ 2734 | " 129000\n", 2735 | "read" 2736 | ] 2737 | }, 2738 | { 2739 | "output_type": "stream", 2740 | "stream": "stdout", 2741 | "text": [ 2742 | " 130000\n", 2743 | "read" 2744 | ] 2745 | }, 2746 | { 2747 | "output_type": "stream", 2748 | "stream": "stdout", 2749 | "text": [ 2750 | " 131000\n", 2751 | "read" 2752 | ] 2753 | }, 2754 | { 2755 | "output_type": "stream", 2756 | "stream": "stdout", 2757 | "text": [ 2758 | " 132000\n", 2759 | "read" 2760 | ] 2761 | }, 2762 | { 2763 | "output_type": "stream", 2764 | "stream": "stdout", 2765 | "text": [ 2766 | " 133000\n", 2767 | "read" 2768 | ] 2769 | }, 2770 | { 2771 | "output_type": "stream", 2772 | "stream": "stdout", 2773 | "text": [ 2774 | " 134000\n", 2775 | "read" 2776 | ] 2777 | }, 2778 | { 2779 | "output_type": "stream", 2780 | "stream": "stdout", 2781 | "text": [ 2782 | " 135000\n", 2783 | "read" 2784 | ] 2785 | }, 2786 | { 2787 | "output_type": "stream", 2788 | "stream": "stdout", 2789 | "text": [ 2790 | " 136000\n", 2791 | "read" 2792 | ] 2793 | }, 2794 | { 2795 | "output_type": "stream", 2796 | "stream": "stdout", 2797 | "text": [ 2798 | " 137000\n", 2799 | "read" 2800 | ] 2801 | }, 2802 | { 2803 | "output_type": "stream", 2804 | "stream": "stdout", 2805 | "text": [ 2806 | " 138000\n", 2807 | "read" 2808 | ] 2809 | }, 2810 | { 2811 | "output_type": "stream", 2812 | "stream": "stdout", 2813 | "text": [ 2814 | " 139000\n", 2815 | "read" 2816 | ] 2817 | }, 2818 | { 2819 | "output_type": "stream", 2820 | "stream": "stdout", 2821 | "text": [ 2822 | " 140000\n", 2823 | "read" 2824 | ] 2825 | }, 2826 | { 2827 | "output_type": "stream", 2828 | "stream": "stdout", 2829 | "text": [ 2830 | " 141000\n", 2831 | "read" 2832 | ] 2833 | }, 2834 | { 2835 | "output_type": "stream", 2836 | "stream": "stdout", 2837 | "text": [ 2838 | " 142000\n", 2839 | "read" 2840 | ] 2841 | }, 2842 | { 2843 | "output_type": "stream", 2844 | "stream": "stdout", 2845 | "text": [ 2846 | " 143000\n", 2847 | "read" 2848 | ] 2849 | }, 2850 | { 2851 | "output_type": "stream", 2852 | "stream": "stdout", 2853 | "text": [ 2854 | " 144000\n", 2855 | "read" 2856 | ] 2857 | }, 2858 | { 2859 | "output_type": "stream", 2860 | "stream": "stdout", 2861 | "text": [ 2862 | " 145000\n", 2863 | "read" 2864 | ] 2865 | }, 2866 | { 2867 | "output_type": "stream", 2868 | "stream": "stdout", 2869 | "text": [ 2870 | " 146000\n" 2871 | ] 2872 | } 2873 | ], 2874 | "prompt_number": 5 2875 | }, 2876 | { 2877 | "cell_type": "code", 2878 | "collapsed": false, 2879 | "input": [ 2880 | "# Print the top accounts for the first brand.\n", 2881 | "print brand2counts.keys()[0], sorted(brand2counts.values()[0].items(), key=lambda x: -x[1])[:5]" 2882 | ], 2883 | "language": "python", 2884 | "metadata": {}, 2885 | "outputs": [ 2886 | { 2887 | "output_type": "stream", 2888 | "stream": "stdout", 2889 | "text": [ 2890 | "15650816 " 2891 | ] 2892 | }, 2893 | { 2894 | "output_type": "stream", 2895 | "stream": "stdout", 2896 | "text": [ 2897 | "[(15650816, 626), (35764757, 322), (15846407, 306), (25525507, 283), (90420314, 273)]\n" 2898 | ] 2899 | } 2900 | ], 2901 | "prompt_number": 6 2902 | }, 2903 | { 2904 | "cell_type": "code", 2905 | "collapsed": false, 2906 | "input": [ 2907 | "# Read the demographics data for each brand.\n", 2908 | "import json\n", 2909 | "username2demo = dict()\n", 2910 | "for line in open('../data/demo.json', 'rt'):\n", 2911 | " js = json.loads(line)\n", 2912 | " username2demo[js['twitter'].lower()] = js\n", 2913 | "print 'read', len(username2demo), 'demographics'" 2914 | ], 2915 | "language": "python", 2916 | "metadata": {}, 2917 | "outputs": [ 2918 | { 2919 | "output_type": "stream", 2920 | "stream": "stdout", 2921 | "text": [ 2922 | "read 1513 demographics\n" 2923 | ] 2924 | } 2925 | ], 2926 | "prompt_number": 7 2927 | }, 2928 | { 2929 | "cell_type": "code", 2930 | "collapsed": false, 2931 | "input": [ 2932 | "# Add demographics to each brand dict.\n", 2933 | "for username, brand in username2brand.iteritems():\n", 2934 | " brand['demo'] = username2demo[username]\n", 2935 | " if not 'Female' in brand['demo']:\n", 2936 | " print brand['brand_name'] # , brand['demo']['Female']" 2937 | ], 2938 | "language": "python", 2939 | "metadata": {}, 2940 | "outputs": [ 2941 | { 2942 | "output_type": "stream", 2943 | "stream": "stdout", 2944 | "text": [ 2945 | "stltoday\n", 2946 | "World_Wildlife\n", 2947 | "BettyBuzz\n", 2948 | "TeamRankings\n", 2949 | "InsideHoops\n", 2950 | "GrindTV\n" 2951 | ] 2952 | } 2953 | ], 2954 | "prompt_number": 8 2955 | }, 2956 | { 2957 | "cell_type": "code", 2958 | "collapsed": false, 2959 | "input": [ 2960 | "# Set self reference counts to 0.\n", 2961 | "for brand in brand2counts:\n", 2962 | " brand2counts[brand][brand] = 0.\n", 2963 | "# Now, the brand id should not appear in the count dict.\n", 2964 | "print brand2counts.keys()[0], sorted(brand2counts.values()[0].items(), key=lambda x: -x[1])[:5]" 2965 | ], 2966 | "language": "python", 2967 | "metadata": {}, 2968 | "outputs": [ 2969 | { 2970 | "output_type": "stream", 2971 | "stream": "stdout", 2972 | "text": [ 2973 | "15650816 " 2974 | ] 2975 | }, 2976 | { 2977 | "output_type": "stream", 2978 | "stream": "stdout", 2979 | "text": [ 2980 | "[(35764757, 322), (15846407, 306), (25525507, 283), (90420314, 273), (34381878, 251)]\n" 2981 | ] 2982 | } 2983 | ], 2984 | "prompt_number": 9 2985 | }, 2986 | { 2987 | "cell_type": "code", 2988 | "collapsed": false, 2989 | "input": [ 2990 | "# Pickle everything\n", 2991 | "from functools import partial\n", 2992 | "import pickle\n", 2993 | "pickle.dump(username2brand, open('username2brand.pkl', 'wb'))\n", 2994 | "pickle.dump(id2brand,open('id2brand.pkl','wb'))\n", 2995 | "pickle.dump(dict([(b,c) for b,c in brand2counts.iteritems()]), open('brand2counts.pkl', 'wb'))" 2996 | ], 2997 | "language": "python", 2998 | "metadata": {}, 2999 | "outputs": [], 3000 | "prompt_number": 10 3001 | }, 3002 | { 3003 | "cell_type": "code", 3004 | "collapsed": false, 3005 | "input": [], 3006 | "language": "python", 3007 | "metadata": {}, 3008 | "outputs": [] 3009 | } 3010 | ], 3011 | "metadata": {} 3012 | } 3013 | ] 3014 | } --------------------------------------------------------------------------------